Messages de niveau élevé Il s'agit d'une méthode qui peut appeler une autre méthode sur chaque élément de l'ensemble ou de l'objet, sans écrire de cycle explicite. En d'autres termes, c'est un raccourci grammatical qui rend votre code plus lisse et plus facile à lire.
Cette fonctionnalité est particulièrement utile lors du traitement de l'ensemble dans Laravel, mais elle convient également à d'autres contextes.
Exemple classique: collection
Utilisez des nouvelles de niveau élevé, vous pouvez simplifier ce code en une seule ligne:
Ici, est une méthode de rassemblement,
$users = User::where('active', false)->get(); foreach ($users as $user) { $user->activate(); }
$users = User::where('active', false)->get(); $users->each->activate();
<<>
each
activate
<简> Code simple:
<进> lisibilité: Le code est plus expressif et plus facile à comprendre.
<低> Risque d'erreur plus faible:Vous pouvez également utiliser des messages de haut niveau pour filtrer la collecte. Par exemple, le filtrage des utilisateurs qui ont vérifié les e-mails:
<.> 3. Utilisez pour transmettre
Convertissez la collection en résultats de chaque méthode d'application d'élément. Par exemple, obtenez le nom complet de tous les utilisateurs:
$orders = Order::where('status', 'pending')->get(); $orders->each->markAsShipped();
<级> Utilisation avancée
<.> 1. Call de chaîne de méthode
$verifiedUsers = $users->filter->hasVerifiedEmail();
map
<.> 2. Utilisez la relation avec éloquente ensemble
Vous pouvez également utiliser des messages de niveau élevé avec Eloquent. Par exemple, en supposant que chaque utilisateur a plusieurs publications et que vous souhaitez publier les publications à publier:
$fullNames = $users->map->getFullName();
limitation
Bien que la fonction de message de niveau élevé soit puissante, elles ont également certaines limites:Conclusion
Les messages avancés sont une fonctionnalité peu connue mais extrêmement utile dans Laravel. Ils vous permettent d'écrire du code plus expressif, concis et lisible tout en réduisant le risque d'erreurs. Que vous travailliez avec des collections, des relations éloquentes ou d'autres objets, les messages d'ordre supérieur peuvent grandement simplifier votre code.
Alors la prochaine fois que vous écrirez une boucle, demandez-vous : « Puis-je utiliser des messages d'ordre supérieur ici ?
Avez-vous déjà utilisé des messages de haut niveau dans vos projets ? Veuillez partager vos expériences et cas d'utilisation dans les commentaires !
N'oubliez pas de partager cet article avec vos collègues développeurs Laravel pour leur faire part de cette astuce utile. ?
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!