Quelles sont les nouveautés de Laravel 9 ?

Topic : Programmation   | Publié 2 years ago

Laravel est un framework d’application web PHP open source connu pour sa syntaxe élégante. Il s’agit d’un framework MVC permettant de créer des applications web simples ou complexes à l’aide du langage de programmation PHP, et il suit strictement le modèle architectural MVC (modèle-vue-contrôleur).

Sa version 9 est sortie au début de l'année 2022. Dans cet article, nous allons présenter quelques nouvelles fonctionnalités et changements annoncés pour cette nouvelle version.

PHP 8 - version minimale dans Laravel 9

Puisque Laravel 9 nécessitera Symfony 6.0 et qui a une exigence minimale de PHP 8, cela signifie que Laravel 9 aura la même restriction.

Nouveau design pour la commande routes:list

La commande routes:list est incluse dans Laravel depuis longtemps maintenant et un problème qui se pose parfois est que si vous avez défini des routes énormes et complexes, il peut être difficile de les afficher dans la console. Grâce à une pull request de Nuno Maduro, cette commande obtient une nouvelle interface plus soft.

Migration de stub anonyme

Au début de l'année 2021, la version 8.37 de Laravel a été dotée d'une nouvelle fonctionnalité appelée Migrations anonymes, qui permet d'éviter les collisions entre les noms de classes de migration.

Au lancement de Laravel 9, ce sera la valeur par défaut lorsque vous exécuterez php artisan make:migration.

Laravel Breeze API & Next.js

Le kit de démarrage Laravel Breeze a reçu un mode d'échafaudage "API" et une implémentation frontend pour Next.js. Ce kit de démarrage peut être utilisé pour faire démarrer vos applications Laravel qui servent de backend, d'API authentifiée Laravel Sanctum pour un frontend JavaScript.

Nouvelle interface du constructeur de requêtes

Avec le nouveau Laravel 9, l’indication de type est très fiable pour la refactorisation, l’analyse statique et la complétion de code dans leurs IDE . Cela est dû au manque d’interface partagée ou d’héritage entre Query\Builder, Eloquent\Builder et Eloquent\Relation. Néanmoins, avec Laravel 9, les développeurs peuvent désormais profiter de la nouvelle interface du constructeur de requêtes pour l’indication de type, la refactorisation et l’analyse statique.

Cette version a ajouté la nouvelle interface  Illuminate\Contracts\Database\QueryBuilder, ainsi que le trait Illuminate\Database\Eloquent\Concerns\DecoratesQueryBuilder qui implémentera l’interface à la place de la méthode magique __call .

Fonctions des chaînes de caractères en PHP 8

Comme PHP 8 sera le minimum, Tom Schlick a soumis un PR pour passer à l’utilisation des fonctions str_contains(), str_starts_with() et str_ends_with() en interne dans la classe \Illuminate\Support\Str.

Voici entre autres quelques nouveautés de Laravel 9, une liste plus complète des fonctionnalités est disponible sur le site de Laravel News.

Actuellement notre plateforme d’hébergement support laravel 9 ainsi que php 8 voici un tutoriel pour vous permettre de mettre votre site sur notre hébergement.

Les articles de la même catégorie
Refactoring : Qu'est-ce que c'est, et quand est-il opportun de l'effectuer ?
Refactoring : Qu'est-ce que c'est, et quand est-il opportun de l'effectuer ?
Le refactoring est le processus de modification du code source d'une application sans changer son comportement externe. Le refactoring de code a pour but d'améliorer certaines des propriétés non fonctionnelles du code, telles que la lisibilité...
2 years ago
Qu’est-ce que Vue.js ?
Qu’est-ce que Vue.js ?
Evan You a créé Vue.js alors qu’il travaillait chez Google en tant que technologue créatif. Ainsi, à certains égards, il est similaire à AngularJS, le framework JavaScript de Google (comme dans l’utilisation du DOM virtuel, plus Vuex pour la gestion de...
3 years ago
Quelle est la différence entre un framework et une bibliothèque(Library) ?
Quelle est la différence entre un framework et une bibliothèque(Library) ?
On entend souvent parler de framework ou même de bibliothèque. Que ce soit en front ou même en back, vous pouvez trouver ces termes pour presque tous les langages...
2 years ago