Heim > Backend-Entwicklung > PHP-Tutorial > Warum wirft PHP den Fehler „Standardobjekt wird aus leerem Wert erstellt' aus?

Warum wirft PHP den Fehler „Standardobjekt wird aus leerem Wert erstellt' aus?

Mary-Kate Olsen
Freigeben: 2024-12-19 21:31:10
Original
132 Leute haben es durchsucht

Why Does PHP Throw a

Den PHP-Fehler „Standardobjekt aus leerem Wert erstellen“ verstehen

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;
Nach dem Login kopieren

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();
Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage