Laravel est un framework PHP de premier plan, réputé pour sa syntaxe élégante, ses fonctionnalités puissantes et ses outils adaptés aux développeurs. Son architecture permet un développement efficace de sites web en PHP, vous aidant à créer des applications évolutives et faciles à maintenir.

Chez Kinsta, nous nous engageons à rester à l’avant-garde et à adopter les dernières technologies. Ayant une grande expérience des applications Laravel, nous sommes ravis des avancées incluses dans sa dernière version.

Laravel 11 introduit plusieurs fonctionnalités transformatrices qui stimulent la productivité des développeurs et améliorent les performances des applications. De la simplification de la configuration et du débogage à l’amélioration de la flexibilité, cette version améliore l’efficacité du développement et vous aide à créer des applications plus robustes. Plongeons dans l’aventure !

La structure de répertoire remaniée de Laravel 11

Laravel 11 inclut une structure de répertoires repensée qui améliore l’efficacité du développement. Ce changement simplifie l’organisation des fichiers du projet et réduit le code standard inclus dans les versions précédentes de Laravel.

La suppression de certains répertoires, comme app/Exceptions et app/Http/Middleware, rend la structure de Laravel 11 plus propre que les versions précédentes. Par exemple, les versions précédentes incluent neuf middleware, dont la plupart ne seront probablement pas personnalisés. L’élimination de ce répertoire minimise l’encombrement du code et vous permet de vous concentrer sur les aspects essentiels de votre base de code. Et s’il est nécessaire de personnaliser les intergiciels, vous pouvez le faire via App/ServiceProvider.

Laravel 11 supprime également le dossier config, ce qui modifie la façon dont vous gérez les configurations. Nous reviendrons sur ce changement dans une section ultérieure.

Les avantages de la nouvelle structure de répertoire de Laravel sont les suivants :

  • Réutilisation du code – Avec moins de code standard, vous pouvez vous concentrer sur la création de composants modulaires et réutilisables. Cette capacité à réutiliser des fonctionnalités communes à travers l’application favorise un processus de développement plus efficace.
  • Amélioration du partage des connaissances – Une structure de répertoire moins complexe facilite le partage des connaissances entre les membres de l’équipe et les personnes chargées de l’intégration de la technologie. Une navigation plus simple dans la structure du produit rend la collaboration plus fluide et plus efficace.
  • Réduction du temps de codage – L’élimination des répertoires et des fichiers inutiles permet aux développeurs de passer moins de temps à travailler avec du code standard inutile. L’accélération du codage, du débogage et des tests permet d’améliorer la productivité.

Une structure de répertoire rationalisée offre un processus de développement affiné et permet une mise en œuvre plus rapide des caractéristiques et des fonctionnalités.

Amélioration de la flexibilité grâce aux casts de modèles

Laravel 11 est en train de passer à des modèles basés sur des méthodes, ce qui modifie la façon dont vous gérez les attributs dans un modèle Laravel Eloquent – une représentation d’une table de base de données qui sert d’intermédiaire pour les interactions avec cette table.

Dans les anciennes versions de Laravel, vous définissiez les attributs à l’aide d’un tableau properties. Avec Laravel 11, vous spécifiez les casts de modèle dans une méthode judicieusement nommée casts().

Cette transition vers des casts de modèle basés sur des méthodes offre plusieurs avantages similaires à ceux des méthodes ou des fonctions de code. L’un des avantages les plus significatifs est la réutilisation du code. L’intégration de la logique de fonte dans les méthodes rend votre code plus modulaire et réutilisable. Et comme la méthode casts() délimite la distribution d’attributs, votre code devient plus lisible et plus facile à maintenir.

Il est également important de noter que Laravel 11 assure une compatibilité ascendante avec les versions précédentes. Par conséquent, vous pouvez faire passer vos bases de code existantes en toute transparence pour utiliser l’approche actualisée du model casting de Laravel 11. Cette compatibilité fait de l’adoption de Laravel 11 un processus fluide, en particulier si vous êtes déjà familier avec les versions précédentes.

Configuration simplifiée

Comme nous l’avons déjà mentionné, Laravel 11 apporte un changement dans la gestion de la configuration. Il consolide les réglages de configuration en une seule source : le fichier .env. Il s’agit d’un changement notable par rapport aux versions précédentes de Laravel, qui répartissaient les configurations dans plusieurs fichiers.

Le fait de placer les configurations uniquement dans le fichier .env améliore considérablement l’organisation. Il simplifie également le flux de développement, le rendant plus intuitif et plus efficace.

Une autre mise à jour importante liée à la configuration est la fonction de cascade, qui vous permet d’affiner vos configurations en supprimant les options inutiles que vous ne souhaitez pas personnaliser. Le résultat est un développement plus compact.

Le fichier .env unique élimine le besoin de fichiers multiples, en stockant toutes les configurations pertinentes en un seul endroit. Toutefois, si vous estimez que le fichier . env devient trop volumineux, vous pouvez utiliser une commande pour renvoyer le fichier de configuration dans le répertoire config. Par exemple, php artisan config:publish auth génère le fichier auth.php dans le répertoire config.

La possibilité de récupérer des configurations spécifiques est une véritable aubaine pour les organisations.

Amélioration de l’expérience de débogage grâce au nouveau trait Dumpable

Le trait Dumpable est un ajout précieux à Laravel 11. Il vous permet d’utiliser des outils de débogage familiers dans les classes, notamment les méthodes dd() et dump(). Ces méthodes sont essentielles lors du débogage car elles fournissent des informations en temps réel sur un objet ou une variable cible.

Notez que le trait Dumpable est susceptible de remplacer les méthodes dd et dump existantes dans une myriade de classes centrales de Laravel, garantissant ainsi une expérience de débogage cohérente et cohésive à travers le framework.

Les innovations de Laravel 11 en matière de gestion des routes

Laravel 11 améliore considérablement les premières versions avec une gestion consolidée des routes. Il réduit le nombre de fichiers de route par défaut de quatre à deux : routes.php et console.php. Ce changement est important parce qu’il minimise le code standard et rend le framework plus intuitif.

Il est crucial de noter que si vous cherchez à incorporer des routes API dans votre application, ce changement signifie que vous devez opter délibérément pour ces routes. Ce mécanisme favorise une structure d’application plus propre et plus personnalisée, en n’incluant les routes d’API que lorsque cela est nécessaire. Pour générer le fichier api.php et intégrer Laravel Sanctum, exécutez la commande php artisan install:api.

La diffusion d’événements dans Laravel 11 suit un paradigme similaire. Pour activer la fonctionnalité et créer le fichier channels.php, exécutez la commande & php artisan install:broadcasting. Cette commande orchestre la mise en place des fichiers et des configurations essentiels, accélérant ainsi l’intégration de la diffusion d’événements dans les applications Laravel.

Collectivement, ces changements soutiennent une évolution vers une structure d’application modulaire et personnalisable. Parce que vous pouvez opter pour des fonctionnalités spécifiques, Laravel 11 offre une approche plus personnalisée de la gestion des fichiers d’itinéraires que les versions précédentes.

L’évolution du noyau HTTP de Laravel

Le noyau Laravel est un composant essentiel du framework, agissant comme point d’entrée pour les requêtes HTTP et les commandes de terminal. Il a orchestré le flux de ces requêtes, en gérant la pile middleware, le routage et d’autres composants essentiels qui contribuent au traitement des requêtes entrantes par l’application.

Laravel 11 supprime le noyau Laravel. À la place, vous utilisez la classe Bootstrap/App, qui lie les interfaces essentielles au conteneur. Après avoir configuré les composants nécessaires, la classe Bootstrap/App renvoie l’instance de l’application. Cette séparation entre la construction de l’instance et l’exécution de l’application et la gestion des réponses permet d’obtenir une architecture plus modulaire.

La suppression du noyau Laravel est une autre étape vers la minimisation du code « boilerplate ». Comme la classe Bootstrap/App s’occupe de la configuration essentielle, vous pouvez vous concentrer sur la construction des fonctionnalités de base de vos applications. Une fois qu’une instance d’application s’exécute, la classe Bootstrap/App assure la gestion des requêtes web nécessaires, ce qui simplifie le processus de développement et favorise une base de code plus organisée.

Migrations par défaut consolidées pour plus d’efficacité

Laravel 11 s’accompagne d’une refonte des migrations par défaut. Les versions précédentes, de 2014 à 2019, comportaient de nombreuses migrations par défaut réparties dans plusieurs fichiers. En revanche, la dernière version a condensé ces fichiers en seulement deux, offrant aux développeurs une expérience plus organisée et plus conviviale.

Cette réduction des fichiers de migration par défaut simplifie l’accès et la gestion des migrations générées, améliore la clarté des structures de votre base de données et réduit les risques de confusion et d’erreurs.

De plus, avec une configuration de migration par défaut plus propre et plus directe, vous pouvez consacrer plus de temps à vous concentrer sur les exigences spécifiques de vos projets plutôt que de vous débattre avec les complexités des fichiers de migration standard.

Les migrations par défaut optimisées de Laravel 11 contribuent à une expérience de développement plus fluide, renforçant la réputation du framework de privilégier la simplicité et la facilité d’utilisation.

PHP 8.2 : le nouveau standard de Laravel 11

Un autre changement crucial de Laravel 11 est qu’il fixe PHP 8.2 comme exigence minimale. Dans Laravel 11, PHP 8.2 est la norme par défaut, avec PHP 8.3 à l’horizon. L’alignement sur les dernières avancées de l’écosystème PHP garantit que Laravel restera compatible avec les dernières (et prochaines) fonctionnalités et optimisations du langage PHP.

En supportant les deux dernières versions majeures de PHP, Laravel 11 améliore les performances, la sécurité et l’expérience des développeurs. En faisant de PHP 8.2 le minimum nécessaire, vous assurez la pérennité de vos projets et libérez tout le potentiel du langage.

Résumé

Laravel 11 introduit des mises à jour significatives qui promettent d’améliorer l’expérience de développement pour vous, votre équipe et l’ensemble de la communauté des développeurs. L’optimisation des performances, la prise en charge des dernières versions de PHP et les fonctionnalités de flux de travail rationalisées rendent le développement PHP aussi fluide et efficace que possible.

Ces améliorations se traduisent par des flux de développement plus fluides, une meilleure performance des applications et un processus de développement globalement plus efficace. Les puissantes fonctionnalités de notre service d’hébergement d’applications, comme la mise à l’échelle automatique, l’infrastructure sécurisée et l’amélioration des performances avec les machines les plus rapides de Google Cloud Platform, constituent un environnement idéal pour le déploiement des applications Laravel 11.

Nous sommes impatients de voir quelles applications vous allez créer avec Laravel 11 – et comment vous allez utiliser Kinsta pour aider vos applications Laravel à se développer.

Marcia Ramos Kinsta

I'm the Editorial Team Lead at Kinsta. I'm a open source enthusiast and I love coding. With more than 7 years of technical writing and editing for the tech industry, I love collaborating with people to create clear and concise pieces of content and improve workflows.