burger menu icon Web^ID
💬 Contact 💬 Contact

05 02 2024

retour à la liste des articles

Laravel 11 - Les nouveautés en 2024 !

logo web^id

• écrit par [Web^ID]

marqueur jaune

Laravel 11 sort ce premier trimestre 2024, on décrypte les fonctionnalités et nouveautés qui nous attendent dans notre Framework de cœur !

Une structure de projet simplifiée !

Les nouveaux arrivants sur Laravel 11 auront le droit à une architecture de projet très minimaliste. Cependant, les anciens qui voudront faire la migration de Laravel 10 à Laravel 11, ne verront pas de différence. Ce changement retire environ 70 fichiers à l'installation !

 

Le répertoire 'app' fait peau neuve.

Celui-ci ne comportera plus qu'un dossier Http avec les controlleurs. Puis à la racine un dossier Models et Providers. On ne retrouvera plus les middlewares ou encore le kernel.

Le répertoire 'config' change radicalement.

Plus aucun fichier de config comme on le connait en .php mais le .env.example se voit rajouter quelques variables de configuration. Il est toutefois possible de publier certains fichiers de configuration avec la commande : php artisan config:publish

Côté répertoire 'database' : peu de changements

Le répertoire database ne comporte que très peu de changements. Seul le préfixe des fichiers de migrations change. On ne retrouve plus une date, mais une séquence permettant de définir l'ordre des migrations à jouer. Un autre petit changement, c'est qu'il y a désormais à la racine une base de données SQLite.

Un répertoire 'route' nettoyé

Le répertoire route se voit retirer les fichiers inutiles comme api.php ou broadcasting.php. Plus besoin de s'en soucier lors d'une nouvelle installation de projet. Cependant, il est possible de les publier avec la commande : php artisan install:api ou broadcasting

Un répertoire 'test' : changements mineurs

Le répertoire test quant à lui ne change pas vraiment. Le trait CreatesApplication disparait. Si vous migrez votre application, vous pourrez le supprimer, car il est dorénavant inclus directement dans le framework.

 

image app directory Laravel 11

Dumpeable trait

Bien que le trait Dumpable soit techniquement une nouveauté dans Laravel 11, je dirais qu'il consolide l'idée de dump() et dd() en un trait réutilisable, de sorte que les classes n'aient pas à les implémenter manuellement séparément. Les développeurs d'applications et les auteurs de packages peuvent également bénéficier de ce nouveau trait illuminate/support pour ajouter facilement des méthodes de débogage dans des classes chaînables.

 

Image Dumpeable trait Laravel 11

Prise en charge minimale de PHP 8.2

Il s'agit d'une décision précoce, mais les applications Laravel 11 nécessiteront un minimum de PHP 8.2. Si vous utilisez une version plus ancienne de PHP, c'est le moment idéal pour effectuer la mise à niveau.

SQLite 3.35.0+ requis

Si vous utilisez une base de données SQLite, Laravel 11 exigera SQLite 3.35.0 ou une version ultérieure.

Suppression de Doctrine DBAL

Laravel n'est plus dépendant de Doctrine DBAL, et l'enregistrement de types Doctrine personnalisés n'est plus nécessaire pour la création et la modification appropriées de divers types de colonnes qui nécessitaient auparavant des types personnalisés.

Eager Load Limit

Laravel 11 prendra en charge nativement le Eager Load Limit. Vous allez pouvoir limiter le nombre de résultats chargés par parent.
Voici un exemple qui va très bien vous parler :

Eager Load Limit Laravel 11

Mise à niveau vers Laravel 11

On ne peut que vous conseiller d'utiliser la documentation de Laravel pour effectuer la mise à niveau.

Voir toutes les nouveautés ici sur le site Laravel-news.

De notre côté, la Team Dev certifiés Laravel est impatiente de l'exploiter sur nos différents projets et vous faire un retour d'expérience. :)

filaire image filaire image
Vous souhaitez démarrer rapidement ?
Besoin d'accompagnement ?

Vous voulez en savoir plus ou vous souhaitez nous parler de votre projet ?
Nous sommes à votre disposition !