Depuis la sortie de Laravel 6 en septembre dernier, l’équipe de développement n’a pas chômée, on peut l’affirmer. En effet, de nombreuses versions se sont déjà succédées depuis 4 mois, la dernière en date est la 6.11 depuis le 15 janvier 2020.
Laravel 6.11, le contenu
C’est ce qui t’intéresse, je le sais bien. Je te rassure je suis comme toi 😉
Allez, rentrons dans le vif du sujet, et tu risques d’être déçu car évidemment il ne s’agit pas d’une version majeure du framework, mais ça tu le savais déjà, non ?
Une nouvelle méthode Eloquent : firstWhere()
Nous avions déjà une syntaxe permettant de récupérer le premier enregistrement correspondant à une clause where :
User::where('lastname', 'Dupont')->first();
Ici elle vous renvoyait le premier enregistrement de votre table de ‘User’ dont le champ ‘lastname’ correspondait au nom ‘Dupont’.
A présent, grâce à cette version Laravel 6.11.0 et uniquement dans Eloquent, tu peux obtenir la même chose avec la syntaxe suivante :
User::firstWhere('lastname', 'Dupont');
Attention, je le redis encore une fois, cette méthode n’est disponible que pour Eloquent et n’est pas utilisable dans le Query Builder.
Redis Broadcaster is coming !
Josias Montag a mis en place une optimisation de la diffusion de plusieurs canaux dans Redis.
Dans la version actuelle, lorsque Laravel envoie des événements sur plusieurs canaux à la fois, il envoie plusieurs commandes publish avec chacune le même volume de données au serveur Redis.
Selon Josia, cela entraine des transferts de données inutiles.
L’optimisation passe par l’utilisation d’un script LUA.
ATTENTION : un utilisateur a ouvert un bug très rapidement car après le passage sur Laravel 6.11.0, le broadcasting vers Redis ne semblait plus fonctionner.
Laravel 6.11 : Corrections de bugs & changements
Pour les bugs et les changements, je les liste ici tels qu’ils sont présentés sur Laravel News. C’est à toi d’aller voir le détail si cela t’intéresse 😉
Bugs
- Fixed undefined property in
WithFaker::makeFaker()
(#31083) - Fixed
Str::afterLast()
method (#31095) - Fixed insert float into MySQL with PHP 7.3 (#31100)
- Fixed refresh on Model with customized pivot attribute name (#31125, 678b26b)
Changements
- Remove all indentation in blade templates (917ee51)
- Added mailable names to assertion messages in
MailFake::assertNothingSent()
andMailFake::assertNothingQueued()
(#31106) - Search for similar results in
assertDatabaseHas()
(#31042, 2103eb7)
Allez, je te retrouve pour la prochaine version de Laravel 😉