Heim >Backend-Entwicklung >PHP-Tutorial >Wie löse ich den Fehler „Standardobjekt aus leerem Wert erstellen' in PHP?
Behandlung des Fehlers „Standardobjekt aus leerem Wert erstellen“ in PHP
In PHP-Versionen >= 5.4 kann der Fehler „Erstellen eines Standardobjekts aus leerem Wert“ auftreten „Standardobjekt aus leerem Wert erstellen“ beim Versuch, auf eine Eigenschaft eines nicht initialisierten Objekts zuzugreifen. Dieser Fehler bedeutet, dass die referenzierte Variable entweder null oder kein Objekt ist.
Empfohlene Lösung:
Um dieses Problem zu beheben, deklarieren Sie die Variable als Instanz der stdClass Objekt im globalen Namespace, bevor auf es zugegriffen wird Eigenschaften:
$res = new \stdClass(); $res->success = false;
Erklärung:
Mit E_STRICT-Warnungen in PHP <= 5.3.x aktiviert oder error_reporting auf E_WARNING in PHP >= 5.4 gesetzt, PHP erzwingt Objektmanipulation strikt. Der Versuch, auf Eigenschaften einer Null- oder Nichtobjektvariablen zuzugreifen, löst einen Fehler aus. Durch die Deklaration der Variablen als stdClass-Objekt wird sichergestellt, dass es sich um eine Objektinstanz handelt und ihr Eigenschaften zugewiesen werden können.
Alternative Ansätze:
Alternativ können Sie Folgendes verwenden Vorgehensweise zur Vermeidung dieses Fehlers:
if (!isset($res) || !is_object($res)) { $res = new \stdClass(); }
$res = (object) ['success' => false];
Das obige ist der detaillierte Inhalt vonWie löse ich den Fehler „Standardobjekt aus leerem Wert erstellen' in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!