Maison >développement back-end >tutoriel php >L'opérateur Nullsafe de PHP peut-il simplifier l'accès aux propriétés imbriquées ?
Présentation de l'opérateur Nullsafe en PHP
L'opérateur nullsafe (?->) permet aux développeurs d'écrire du code qui accède en toute sécurité aux propriétés des objets et méthodes sans avoir besoin de vérifications nulles explicites. Cela simplifie le code et améliore la lisibilité, en particulier dans les hiérarchies d'objets complexes.
Requête
Pouvons-nous réécrire l'instruction suivante à l'aide de l'opérateur nullsafe ?
echo $data->getMyObject() != null ? $data->getMyObject()->getName() : '';
Réponse
À partir de PHP 8, nous pouvons utiliser le nullsafe en conjonction avec l'opérateur de coalescence nul (?) pour obtenir le comportement souhaité.
Solution
echo $data->getMyObject()?->getName() ?? '';
Le ?-> L'opérateur rompt la chaîne d'opérateurs lorsqu'il rencontre une valeur nulle, renvoyant effectivement null et mettant fin à l'expression. Les opérateurs qui inspectent les propriétés des objets ou invoquent des méthodes sont considérés comme faisant partie de la chaîne, notamment :
De plus, si les opérateurs suivants de la chaîne ne sont pas considérés comme faisant partie de la chaîne (par exemple, l'opérateur de concaténation dans l'exemple ci-dessous), ils ne seront pas court-circuités :
$string = $data?->getObject()->getName() . " after";
Dans ce cas, si $data est nul, le code donnera :
$string = null . " after";
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!