Avatar ·

Erreur "Creating default object from empty value" en PHP : causes et correction

Bonjour à tous ! Je viens de commencer à apprendre PHP et je suis tombé sur une erreur étrange que je n'arrive pas à comprendre.

\n\n

J'ai un code simple où j'essaie de créer un objet et de lui assigner immédiatement une propriété :

\n\n
<?php\n$user = new stdClass();\n$user->name = 'John';\n$user->age = 25;\n\n// Ensuite j'ai décidé de simplifier et j'ai écrit ceci :\n$user2->name = 'Jane'; // C'est ici l'erreur !\n?>
\n\n

Je reçois un avertissement : "Creating default object from empty value". Avant, dans des exemples d'apprentissage, j'avais vu qu'on pouvait écrire $obj->property = value sans déclarer $obj = new stdClass(), et ça fonctionnait. Mais maintenant PHP râle. Pourquoi cela se produit-il ?

\n\n

Je comprends que $user2 n'est pas défini, mais est-ce que PHP ne devrait pas le créer automatiquement ?