Nullsafe-Operatoren in PHP: Bedingte Objektnavigation erreichen
In PHP kann der Zugriff auf Objekteigenschaften und das Aufrufen von Methoden möglicherweise zu Nullzeigerausnahmen führen, wenn Das Objekt ist null oder verfügt nicht über das angeforderte Mitglied. Um dieses Problem zu beheben, ermöglicht der in PHP 8 eingeführte Nullsafe-Operator (?-) die sichere Navigation von Objekteigenschaften und -methoden.
Bedenken Sie die folgende Anweisung:
echo $data->getMyObject() != null ? $data->getMyObject()->getName() : '';
Diese Anweisung prüft, ob die Das $data-Objekt verfügt über die Eigenschaft getMyObject() und ist nicht null. Wenn die Eigenschaft vorhanden ist und nicht null ist, greift sie auf die getName()-Eigenschaft innerhalb dieses Objekts zu. Wenn die Eigenschaft jedoch nicht existiert oder null ist, wird die Anweisung nicht weiter ausgeführt.
Mit dem Nullsafe-Operator können wir die Anweisung wie folgt umschreiben:
echo $data->getMyObject()?->getName();
In dieser Anweisung Wenn $data null ist oder nicht über die Eigenschaft getMyObject() verfügt, wird die Operatorkette beendet und null zurückgegeben. Dadurch können wir fehlende Eigenschaften oder Methodenaufrufe ausnahmslos ordnungsgemäß behandeln.
Der Nullsafe-Operator funktioniert mit den folgenden Operatoren, die auf Objekteigenschaften und -methoden zugreifen:
Zum Beispiel der folgende Code:
$string = $data?->getObject()->getName() . " after";
ist äquivalent zu:
$string = (isset($data) && $data !== null) ? $data->getObject()->getName() . " after" : null;
wenn $data null ist.
Durch die Verwendung des Nullsafe-Operators Wir können saubereren und prägnanteren Code schreiben und gleichzeitig sicherstellen, dass es keine Nullzeiger-Ausnahmen gibt.
Das obige ist der detaillierte Inhalt vonWie kann der Nullsafe-Operator (?-) von PHP Nullzeigerausnahmen verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!