Laravel : Synthèse n°10
Table des matières
Togglemise à jour le 30 janvier 2024
Avec la sortie de Laravel 11 en février 2024, Laravel bénéficiera d'un support natif pour limiter le nombre de résultats chargés avec impatience par parent.
Disons, par exemple, que vous souhaitez paginer les utilisateurs mais aussi charger avec impatience trois articles de blog pour chaque utilisateur :
La requête éloquente ci-dessus ressemblerait à la représentation JSON suivante prête à l'emploi, avec des modèles optimisés et chargés avec impatience :
mise à jour le 30 janvier 2024
Bien que le 'Dumpable' trait soit techniquement nouveau dans Laravel 11 , je dirais qu'il consolide l'idée de 'dump()' et 'dd()' dans un trait réutilisable afin que les classes n'aient pas à l'implémenter manuellement séparément. Les développeurs d'applications et les auteurs de packages peuvent également bénéficier de cette nouvelle 'illumiate/support' fonctionnalité pour ajouter facilement des méthodes de débogage dans les classes chaînables.
Dans Laravel 10, on apprécie déjà de pouvoir enchaîner dans un '->dd()' ou '->dump()' dans diverses classes du framework, comme 'Carbon', 'Stringable', la requête 'Builder', et 'TestResponse' :
Cependant, dans Laravel 10, les méthodes 'dump()' et 'dd()' ont été créées ad hoc dans chaque classe séparément, alors que, dans Laravel 11, tout ce code a été consolidé dans le trait Dumpable que nous pouvons utiliser dans n'importe quelle classe. Voici un exemple de la 'Carbon' classe Illuminate dans Laravel 11 :
L’implémentation de 'dump()' ressemble à ce qui suit dans le trait Dumpable. La seule différence avec 'dd()' est que le code arrêtera l'exécution et se terminera :