Maison > cadre php > Laravel > le corps du texte

Fonctions d'assistance facultatives de Laravel très utiles !

藏色散人
Libérer: 2021-07-14 08:59:44
avant
2195 Les gens l'ont consulté

Dans la nouvelle version de Laravel, il existe une méthode auxiliaire très utile : optional()

Quels sont les scénarios d'application de cette méthode ? En fait, si vous écrivez plus de code, vous rencontrerez souvent des messages d'erreur similaires aux suivants :

Call to a member function on null object...
Copier après la connexion

C'est en fait parce qu'un certain objet est vide dans notre code, donc lorsque nous appelons une méthode ou obtenons un attribut, Le message d'erreur ci-dessus sera signalé. Par exemple, prenons un exemple :

Dans le système User, nous avons également un Profile Fichier modèle, et un User a un Profile (Profile contient les informations d'adresse de l'utilisateur)

public function profile(){
   return $this->hasOne(Profile::class);
}
Copier après la connexion

Puis sur notre page d'information User, nous espérons obtenir l'adresse de User grâce au code suivant :

$user->profile->address;
Copier après la connexion

Si nous n'avons pas le User correspondant pour le Profile dans la base de données, alors l'article mentionné à la le début apparaîtra Erreur similaire.

Donc, à ce moment-là, optional() peut s'avérer utile

Nous avons seulement besoin d'obtenir les informations d'adresse de l'utilisateur comme ceci :

optional$user->profile)->address
Copier après la connexion

À ce moment, Même si profile est une valeur nulle (null), cette ligne de code ne signalera pas d'erreur, mais affichera une chaîne vide.
N'est-ce pas très utile ! Avec la fonction d'assistance optional(), dans de nombreux codes similaires, lorsque vous n'êtes pas sûr que l'objet sera null, vous pouvez ajouter optional() pour l'assurance !

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!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal