Avatar ·

Fehler "Creating default object from empty value" in PHP: Ursachen und Behebung

Hallo zusammen! Ich habe gerade angefangen, PHP zu lernen, und bin auf einen seltsamen Fehler gestoßen, den ich nicht verstehe.

Ich habe einen einfachen Code, in dem ich versuche, ein Objekt zu erstellen und ihm sofort eine Eigenschaft zuzuweisen:

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

// Dann habe ich beschlossen, es zu vereinfachen und so geschrieben:
$user2->name = 'Jane'; // Hier ist der Fehler!
?>

Ich bekomme die Warnung: "Creating default object from empty value". Früher habe ich in Lernbeispielen gesehen, dass man $obj->property = value schreiben kann, ohne $obj = new stdClass() zu deklarieren, und das hat funktioniert. Aber jetzt beschwert sich PHP. Warum passiert das?

Ich verstehe, dass $user2 nicht definiert ist, aber sollte PHP nicht automatisch ein Objekt erstellen?