Avatar ·

Error "Creating default object from empty value" en PHP: causas y solución

¡Hola a todos! Acabo de empezar a estudiar PHP y me encontré con un error extraño que no puedo entender.

Tengo un código simple donde intento crear un objeto y asignarle una propiedad de inmediato:

<?php
$user = new stdClass();
$user->name = 'John';
$user->age = 25;

// Luego decidí simplificar y escribí esto:
$user2->name = 'Jane'; // ¡Aquí está el error!
?>

Recibo una advertencia: "Creating default object from empty value". Antes, en ejemplos de estudio, veía que se podía escribir $obj->property = value sin declarar $obj = new stdClass(), y funcionaba. Pero ahora PHP se queja. ¿Por qué sucede esto?

Entiendo que $user2 no está definido, pero ¿no debería PHP crear un objeto vacío por sí mismo? En JavaScript, por ejemplo, eso funcionaría. ¿Quizás me estoy perdiendo algo en la configuración de PHP? ¿O depende de la versión?

Por favor, indíquenme cómo crear correctamente objetos.