PHPs Fehler „Standardobjekt aus leerem Wert erstellen“ tritt häufig auf, wenn Sie auf eine scheinbar nicht gesetzte Eigenschaft zugreifen Variable. Dieser Fehler ist ein Ergebnis der strengen Fehlerbehandlung von PHP in den Versionen 5.4 und höher.
Dieser Fehler wird ausgelöst, wenn PHP versucht, ein Standardobjekt für eine Variable zu initialisieren, die noch kein Objekt ist oder explizit auf NULL gesetzt ist. Zum Beispiel:
$res = NULL; $res->success = false;
In PHP 5.3 und früher würde dieser Code keine Fehler erzeugen. In PHP-Versionen 5.4 und höher sind jedoch E_STRICT-Warnungen (oder E_WARNINGs, wenn Sie error_reporting mindestens auf diese Stufe eingestellt haben) aktiviert, was den Fehler „Standardobjekt aus leerem Wert erstellen“ verursacht.
Tut $res muss zuerst deklariert werden?
Nein, die Deklaration von $res als Objekt ist nicht erforderlich. Sie müssen jedoch sicherstellen, dass $res ein Objekt ist, bevor Sie auf seine Eigenschaften zugreifen. Dazu können Sie es entweder als Objekt einer bestimmten Klasse initialisieren oder das generische stdClass-Objekt verwenden:
// Initialize as a specific class $res = new MyClassName(); // Initialize as a generic object $res = new \stdClass();
Sobald $res ein Objekt ist, können Sie auf seine Eigenschaften zugreifen und diese ändern, ohne auf das „ Fehler beim Erstellen eines Standardobjekts aus einem leeren Wert.
$res->success = false; // No error
Das obige ist der detaillierte Inhalt vonWarum wirft PHP den Fehler „Standardobjekt wird aus leerem Wert erstellt' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!