Creating default object from empty value

Description

This deprecation message is emitted in PHP 7.x to signal that an object was created without instantiation. In the illustration code, $x does not exist before assigning it a property a, and a value. The created object is stdClass.

This error is specific to the creation of the variable: if $x was set with null, a different message was emitted.

Example

<?php

$x->a = 1;

?>

Solutions

  • Explicitly create the object before accessing its properties.

  • Cast an array to (object).

In more recent PHP versions, this error message is now Attempt to assign property “%s” on null.

Changed Behavior

This error may appear in different PHP versions creatingObjectOnNull.