Exploiter l'opérateur Nullsafe de PHP pour les navigations conditionnelles
Les développeurs PHP rencontrent souvent des situations où ils doivent accéder à des propriétés ou des méthodes d'objets qui peuvent être nulles . Traditionnellement, cela nécessitait des vérifications nulles fastidieuses et une imbrication d'opérateurs ternaires pour accéder en toute sécurité aux valeurs souhaitées. Cependant, avec l'introduction de PHP 8, l'opérateur null safe (-?) améliore la lisibilité du code et réduit la verbosité associée à de telles opérations.
Question :
Est-ce que il existe une manière succincte d'écrire le code suivant en utilisant une navigation sécurisée opérateur ?
echo $data->getMyObject() != null ? $data->getMyObject()->getName() : '';
Réponse :
Dans les versions PHP 8 et ultérieures, vous pouvez exploiter l'opérateur de sécurité nul (-?) en conjonction avec l'opérateur de fusion nul (??) pour accomplir cette tâche. Le code résultant simplifie considérablement la syntaxe :
echo $data->getMyObject()->getName() ?? '';
En employant le -? opérateur nul sûr, la chaîne d’opérateurs est effectivement rompue si le côté gauche est nul. Cela renvoie null, permettant à l'opérateur de fusion nul de remplacer la valeur par défaut par une chaîne vide.
Comprendre l'opérateur Nullsafe (-?)
L'opérateur null safe permet programmeurs pour mettre fin de manière sélective aux chaînes d’appels de propriétés ou de méthodes à des points spécifiques. Les opérateurs qui inspectent ou interagissent avec les composants internes d'un objet sont considérés comme faisant partie de la chaîne, notamment :
Exemple :
Considérez le code suivant :
$string = $data?->getObject()->getName() . " after";
Si $data est nul, ce code devient équivalent à :
$string = null . " after";
Cela est dû au fait que l'opérateur de concaténation de chaînes ne fait pas partie de la chaîne et n'est pas court-circuité.
En utilisant l'opérateur null safe, les développeurs PHP peuvent gérer efficacement null valeurs dans les scénarios de navigation conditionnelle et améliorent la lisibilité et la concision de leur code.
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!