Opérateurs Nullsafe en PHP : réalisation d'une navigation conditionnelle entre objets
En PHP, l'accès aux propriétés des objets et aux méthodes d'appel peut potentiellement entraîner des exceptions de pointeur nul si l'objet est nul ou n'a pas le membre demandé. Pour résoudre ce problème, l'opérateur nullsafe (?-) introduit dans PHP 8 permet une navigation sécurisée dans les propriétés et les méthodes des objets.
Considérez l'instruction suivante :
echo $data->getMyObject() != null ? $data->getMyObject()->getName() : '';
Cette instruction vérifie si le L'objet $data a la propriété getMyObject() et si elle n'est pas nulle. Si la propriété existe et n’est pas nulle, elle accède à la propriété getName() dans cet objet. Cependant, si la propriété n'existe pas ou est nulle, l'instruction ne continuera pas.
En utilisant l'opérateur nullsafe, nous pouvons réécrire l'instruction comme :
echo $data->getMyObject()?->getName();
Dans cette instruction , si $data est null ou n'a pas la propriété getMyObject(), la chaîne d'opérateurs est terminée et null est renvoyé. Cela nous permet de gérer les propriétés manquantes ou les appels de méthode avec élégance sans exceptions.
L'opérateur nullsafe fonctionne avec les opérateurs suivants qui accèdent aux propriétés et méthodes des objets :
Par exemple, le code ci-dessous :
$string = $data?->getObject()->getName() . " after";
est équivalent à :
$string = (isset($data) && $data !== null) ? $data->getObject()->getName() . " after" : null;
si $data est null.
En utilisant l'opérateur nullsafe, nous pouvons écrire un code plus propre et plus concis tout en garantissant l'absence d'exceptions de pointeur nul.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!