À la fin de 2020, PHP a publié la version 8.0, présentant de nombreuses nouvelles fonctionnalités et fonctionnalités passionnantes. Parmi eux, l'opérateur Nullsafe est une nouvelle fonctionnalité très pratique. Il simplifie le traitement des objets nullables et rend le code plus concis et plus facile à lire. Dans cet article, nous nous concentrerons sur la façon d'utiliser l'opérateur nullsafe de PHP8 et d'autres fonctions connexes pour traiter efficacement les objets nullables.
Dans le développement réel, il est inévitable de gérer des objets nullables, en particulier lorsque vous interagissez avec des API externes ou des requêtes de base de données, vous rencontrez souvent des situations où certains champs peuvent être nuls. Si le code ne gère pas correctement ces valeurs nullables, cela peut entraîner des erreurs ou des exceptions potentielles. Dans les versions antérieures de PHP, afin d'éviter les erreurs de valeur nulle, nous devions écrire beaucoup de logique de vérification nulle, ce qui a entraîné un code long et sujet aux erreurs.
Avec la publication de PHP 8, l'introduction de l'opérateur Nullsafe ( ? -> ) nous fournit une façon plus propre et plus sûre de traiter ce type de problème. Si l'objet est nul, l'opérateur Nullsafe retournera NULL directement sans lancer d'erreur.
L'opérateur nullsafe ( ? -> ) est une nouvelle fonctionnalité ajoutée dans PHP 8. Il nous permet de vérifier automatiquement si l'objet est NULL lors de l'accès aux propriétés ou aux méthodes d'appel de l'objet. S'il est nul, l'opérateur renvoie NULL au lieu de lancer une erreur.
Par exemple, supposons que nous ayons un objet utilisateur qui contient une propriété d'adresse vide, la façon traditionnelle d'écrire cela pourrait ressembler à ceci:
if ($user !== null) {
if ($user->address !== null) {
echo $user->address->city;
}
}
Cette façon d'écrire semble longue et difficile à lire. Et avec l'aide de l'opérateur Nullsafe, nous pouvons considérablement simplifier le code:
echo $user?->address?->city;
En utilisant l'opérateur ? -> , nous n'avons pas besoin d'effectuer explicitement des vérifications nulles, le code est plus concis et lisible. Si $ user ou $ user-> l'adresse est nul, l'expression entière renvoie automatiquement NULL.
En plus de l'opérateur Nullsafe, PHP8 introduit également d'autres fonctionnalités très pratiques pour simplifier davantage le traitement des objets nullables.
Opérateur de mission de fusion nul ( ?? = )
Il s'agit d'un nouvel opérateur ajouté dans PHP8, ce qui rend les affectations aux objets nullables plus concises. Lorsque vous utilisez l'opérateur ?? = , si la valeur de propriété est vide, une valeur par défaut sera attribuée. Par exemple:
</li>
</ol>
<p>$user->name ??= 'Unknown';<br>
Dans cet exemple, si $ user-> le nom est vide, il se verra attribuer la valeur «inconnue» , sinon elle restera la valeur d'origine inchangée.
Opérateur de fusion nul ( ?? )
Le ?? L'opérateur est utilisé pour vérifier si la valeur est nul et fournit une valeur par défaut. Par exemple, lorsque nous devons définir des valeurs par défaut pour les objets nullables, il est très pratique à utiliser ?? :
</li>
</ol>
<p>$user->address = $user->address ?? new Address();<br>
Si $ user-> l'adresse est vide, un nouvel objet d'adresse est créé.
L'opérateur nullsafe de PHP 8 et d'autres nouvelles fonctionnalités offrent un moyen plus propre et intuitif de gérer les objets nullables. L'utilisation de ces nouvelles fonctionnalités réduit non seulement le long code de vérification nul, mais améliore également la lisibilité et la maintenabilité du code. Bien sûr, lorsque vous utilisez ces nouvelles fonctionnalités, nous devons encore être prudents et éviter une surutilisation pour éviter de réduire la lisibilité et la robustesse du code. En appliquant rationnellement ces nouvelles fonctionnalités, notre code PHP sera plus concis et plus clair, et l'efficacité de développement sera considérablement améliorée.