Laravel 10 : quelles sont les + de cette version ?

Par Walid Ghanem, le 1 mars 2023

App

Dans l’univers du développement web via PHP, le temps se divise en deux moments : l’âge des ténèbres pré-Laravel et l’époque bénie du framework open source Laravel.

D’une popularité sans précédent, ce framework PHP permet d’utiliser PHP de manière beaucoup plus simple.

Et justement, ce 14 février 2023, Taylor Otwell et ses équipes ont offert un cadeau de Saint Valentin aux adeptes du langage de programmation à l’éléphant : Laravel 10.

Sans plus tarder, voici quelques-unes des avancées majeures de cette nouvelle version de Laravel.

L’intégration de Jetstream

Cher Lecteur,

Pour créer un site web, vous devrez à tout prix implémenter certaines fonctionnalités. La connexion à l’espace utilisateur, la vérification des identifiants, etc. C’est répétitif, long et fastidieux.

Et c’est là qu’entre en jeu le package Jetstream.

Jetstream est un ensemble de modèles de code PHP prêt à l’emploi. D’ailleurs, si vous n’avez pas choisi d’utiliser un CMS tel que WordPress pour créer votre site d’e-commerce, il y a de fortes chances que vous l’utilisez sans vous en rendre compte.

Voici quelques-unes des fonctionnalités offertes par Laravel-Jetstream :

  • la gestion des logins ;
  • l’authentification à deux facteurs (2FA) ;
  • la gestion des sessions.

Avant Laravel 10, pour utiliser cette collection de starters kit dans votre application web, vous deviez parfois user de ligne de commande via votre IDE ou votre terminal. Désormais, avec Laravel 10, Jetstream est directement intégré, y compris dans Laravel Blade.

Pour les utilisateurs de MacOS et/ou une distribution Linux telle qu’Ubuntu, vous trouverez directement Laravel 10 dans Docker.

Des algorithmes de hachage plus rapide

Pendant longtemps, l’algorithme SHA-1 a dominé l’univers du hachage chez les codeurs pro-Laravel.

Mais cela pourrait changer grâce à l’intégration d’un nouvel algorithme beaucoup plus rapide : xxHash.

Plus performant, et avec une meilleure dispersion, xxHash vient ravir les cœurs des développeurs soucieux d’un meilleur chiffrement de leurs données.

Attention toutefois : certaines fonctions de Laravel attendent toujours que les noms des sorties des fonctions de hachage soient retournés au format SHA-1.

Cette nouvelle méthode n’est donc pas supportée par tous les paquets des anciennes versions de Laravel.

Ainsi, soyez vigilant sur ce point jusqu’à ce que des correctifs corrigent ces bugs.

Ordinateur avec un code PHP

Pennant : le feature flag maison de Laravel 10

Grâce à un feature flag, vous pouvez décider de donner l’accès à certaines fonctionnalités à certains usagers selon une liste de critères bien précis.

Et justement, grâce à Laravel 10, c’est désormais plus simple qu’auparavant : vous n’avez qu’à définir des critères dans un service provider et le tour est joué.

Toutefois, pour l’utiliser, n’oubliez pas d’ajouter le paquet correspondant

Optimisation Eager Loading, pour des temps de chargement plus courts

Honnêtement, l’on serait plus tenté de parler de correctif que d’une réelle mise à jour, mais qu’importe, cela fait toujours plaisir.

Sur les anciennes versions, à chaque fois que vous chargez des relations par anticipation en SQL depuis une base de données, vous exécutez une requête de la forme :

Select * from ‘nom de votre table’ where 0 = 1.

Même si cela fonctionne, ce type de requête augmente inutilement la complexité et le temps d’exécution de vos codes informatiques.

Et pour cause, la clause “Where 0 = 1” ne sera jamais valide. Aucune loi mathématique ne donnera jamais raison à « 0 = 1 ».

On parle alors de requêtes impossibles.

Fort heureusement, la communauté de Laravel a pensé à nous autres, développeurs, en optimisant le chargement rapide.

Dorénavant, avant de charger des relations par anticipation, Laravel 10 vérifie d’abord s’il y a des clés disponibles dans la database. S’il n’y en a pas, alors votre programme retournera simplement une collection vide.

Mais Laravel ne s’arrête pas là. Exit aussi les luttes de casting pour convertir les données issues de vos bases de données. Laravel 10 vous renvoie directement le type réel de la colonne, et non plus son équivalent DBAL.

Cher Lecteur,

Laravel 10 dispose encore d’une pléthore de fonctionnalités que nous n’avons pas abordées.

Que dites-vous d’en discuter avec nos développeurs afin de voir comment les utiliser pour votre projet ? Écrivez-nous.


Partager l'article

Notre blog

En savoir plus