Laravel 11 est maintenant disponible ! Mise à jour le 19 mars 2024 par Derrell 6 minutes, 58 secondes pour lire Laravel 11, lancé le 12 mars 2024, marque une mise à jour importante du framework Laravel , introduisant une série de nouvelles fonctionnalités et d'améliorations visant à renforcer l'expérience de développement et les performances des applications. En mettant l'accent sur l'efficacité, la sécurité et le développement d'applications web en temps réel, Laravel 11 met en avant plusieurs améliorations clés et introduit Laravel Reverb, un nouveau serveur WebSocket pour la communication en temps réel. Politique d'assistance Laravel Exigences de PHP 8.2 Structure simplifiée de l'annuaire Limite de charge Les castes modèles en tant que méthodes Laravel Reverb Nouvelles commandes pour les artisans Parcours de santé et rotation APP_KEY Installer Laravel 11 Comment passer à Laravel 11 Conclusion Table des matières Politique d'assistance Laravel PHP 8.2 requis pour Laravel 11 Structure simplifiée de l'annuaire Limite de charge Les castes modèles en tant que méthodes Laravel Reverb : Communication en temps réel Mise en œuvre pratique et mise à l'échelle Nouvelles commandes pour les artisans Parcours de santé et rotation APP_KEY Installer Laravel 11 Comment passer à Laravel 11 Conclusion Politique d'assistance Laravel La politique d'assistance de Laravelgarantit que les développeurs reçoivent en temps voulu les mises à jour, les corrections de bogues et les correctifs de sécurité pour leurs applications. Selon cette politique, Laravel fournit 18 mois d'assistance pour les corrections de bogues et 2 ans d'assistance pour les correctifs de sécurité pour chaque version majeure. Cette approche structurée de l'assistance aux versions permet aux développeurs de planifier efficacement leurs chemins de mise à niveau, en s'assurant que leurs applications restent sécurisées et à jour. VersionPHP pris en chargeDate de sortieCorrections de bugs jusqu'àCorrections de sécurité jusqu'àLaravel 9*8.0 - 8.28 février 20228 août 20236 février 2024Laravel 108.1 - 8.314 février 20236 août 20244 février 2025Laravel 118.2 - 8.312 mars 20243 septembre 202512 mars 2026Laravel 128.2+Q1 2025Q3 2026Q1 2027(*) Laravel 9 a atteint sa fin de vie PHP 8.2 requis pour Laravel 11 Avec la sortie de Laravel 11, un changement important a été opéré dans l'exigence de version de PHP. Laravel 11 impose PHP 8.2 comme version minimale, alignant ainsi le framework sur les dernières fonctionnalités, les améliorations de performance et de sécurité offertes par PHP 8.2. Cette décision souligne l'engagement de Laravelà exploiter les technologies les plus récentes et les plus robustes disponibles, garantissant ainsi aux développeurs la création d'applications hautement efficaces, sécurisées et innovantes. PHP 8.2 introduit de nombreuses nouvelles fonctionnalités et optimisations qui peuvent bénéficier de manière significative aux applications Laravel . Il s'agit notamment d'améliorations de la programmation orientée objet, de nouveaux types et attributs qui encouragent de meilleures pratiques de codage, et d'améliorations des performances qui peuvent conduire à une exécution plus rapide des applications. En exigeant PHP 8.2, Laravel s'assure que toutes les applications construites sur cette version tireront intrinsèquement profit de ces améliorations, ce qui se traduira par des solutions web plus fiables et plus performantes. Les développeurs qui prévoient de passer à Laravel 11 ou de lancer de nouveaux projets avec ce logiciel doivent s'assurer que leurs environnements de serveur sont mis à jour vers PHP 8.2. Cette mise à jour facilite non seulement la compatibilité avec Laravel 11, mais positionne également les applications de manière à ce qu'elles bénéficient du support actif de PHP, notamment des correctifs de sécurité et des optimisations de performances. Structure simplifiée de l'annuaire Laravel 11 simplifie sa structure de répertoires, réduisant ainsi la complexité initiale pour les développeurs. Notamment , Kernel.php ont été supprimés, et les intergiciels peuvent maintenant être ajoutés directement dans le fichier bootstrap/app.php fichier. app.php<?php use Illuminate\Foundation\Application; use Illuminate\Foundation\Configuration\Exceptions; use Illuminate\Foundation\Configuration\Middleware; return Application::configure(basePath: dirname(__DIR__)) ->withRouting( web: __DIR__.'/../routes/web.php', commands: __DIR__.'/../routes/console.php', health: '/up', ) ->withMiddleware(function (Middleware $middleware) { // }) ->withExceptions(function (Exceptions $exceptions) { // })->create(); Le config Le répertoire a été allégé en supprimant certains fichiers qui étaient auparavant inclus dans Laravel 10, tels que : config/broadcasting.php config/cors.php config/hashing.php config/sanctum.php config/view.php Le routes Le répertoire a également été un peu nettoyé en le supprimant : routes/api.php routes/channel.php routes/console.php Limite de charge L'introduction de la fonction de limite de chargement avide permet aux développeurs d'interroger efficacement les modèles apparentés sans surcharger le système avec des données inutiles. Cette fonctionnalité optimise le processus de chargement des données, ce qui permet de limiter le nombre d'enregistrements connexes chargés, améliorant ainsi les performances de l'application. Dans les versions précédentes de Laravel , tu devais installer un package séparé pour eager load limit. class User extends Model { public function posts() { return $this->hasMany(Post::class); } } class Post extends Model { // ... } $users = User::with(['posts' => function ($query) { $query->latest()->limit(10); }])->get(); Les castes modèles en tant que méthodes Laravel 11 permet de définir les casts comme des méthodes au sein des classes de modèles, offrant ainsi plus de flexibilité dans la façon dont les données sont moulées lorsqu'elles sont récupérées ou stockées dans la base de données. Cette approche basée sur les méthodes offre une façon plus claire et plus dynamique de gérer les castings de données, améliorant ainsi la lisibilité et la maintenabilité globales du code. use App\Enums\UserOption; use Illuminate\Database\Eloquent\Casts\AsEnumCollection; // ... /** * Get the attributes that should be cast. * * @return array<string, string> */ protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', 'options' => AsEnumCollection::of(UserOption::class), ]; } À titre de comparaison, dans Laravel 10, cette distribution de modèle serait définie à l'aide de l'élément $cast mais tu ne pourras pas appeler les méthodes statiques. protected $casts = [ 'options' => AsEnumCollection::class.':'.UserOption::class, ]; Laravel Reverb : Communication en temps réel Laravel Reverb se distingue comme l'un des ajouts les plus intéressants de Laravel 11, offrant un serveur WebSocket de première partie qui facilite la communication en temps réel entre le client et le serveur. Reverb est conçu pour de hautes performances, capable de prendre en charge des milliers de connexions simultanément sans les inefficacités de l'interrogation HTTP. Il s'intègre parfaitement aux capacités de diffusion existantes de Laravelet est conçu pour l'évolutivité, avec la prise en charge de la mise à l'échelle horizontale à l'aide de Redis. Cela en fait une solution robuste pour les développeurs qui cherchent à incorporer des fonctionnalités en temps réel dans leurs applications, telles que le chat en direct, les notifications et les mises à jour de contenu dynamiques. Reverb est optimisé pour la vitesse et s'intègre sans problème à Laravel Forge pour le déploiement, offrant une prise en charge intégrée de la surveillance avec Pulse. Son utilisation du protocole Pusher garantit la compatibilité avec Laravel broadcasting et Laravel Echo, ce qui facilite le développement d'applications web engageantes et interactives. Mise en œuvre pratique et mise à l'échelle La mise en œuvre de Laravel Reverb implique l'installation du package, sa configuration en fonction des exigences de ton projet et l'intégration de ses optimisations pour améliorer ton application. Le test et la validation de ces intégrations sont cruciaux pour s'assurer que les fonctionnalités en temps réel fonctionnent comme prévu. Il est également recommandé de surveiller les performances de l'application après le déploiement afin d'identifier et de résoudre les éventuels goulets d'étranglement. Nouvelles commandes pour les artisans Les nouvelles commandes Artisan de Laravel 11 sont une aubaine pour la productivité des développeurs, car elles réduisent considérablement le code passe-partout requis lors de l'ajout de nouveaux composants à une application. Grâce aux commandes permettant de générer des classes, des enums, des interfaces et des traits, les développeurs peuvent désormais échafauder de nouvelles parties de leur application avec un minimum d'efforts. Ces commandes sont conçues pour rationaliser le processus de développement, en permettant une configuration et une structuration plus rapides de la logique de l'application et de la représentation des données. En utilisant ces commandes, les développeurs peuvent adhérer aux meilleures pratiques en matière d'organisation du code et de maintenabilité, en s'assurant que leur base de code reste propre et bien structurée. Par exemple, l'introduction de php artisan make:enum simplifie la création d'énumérations, qui sont utiles pour définir un ensemble de constantes nommées. Les enums peuvent rendre ton code plus lisible et moins sujet aux erreurs en limitant les valeurs qu'une variable peut avoir. De la même façon, la fonction php artisan make:interface et php artisan make:trait Les commandes facilitent l'adoption des principes SOLID en encourageant l'utilisation d'interfaces pour définir les contrats au sein d'une application et de traits pour partager les méthodes entre les classes. Parcours de santé et rotation APP_KEY Le /up Le parcours de santé et la fonction de rotation de la clé APP_KEY sont essentiels pour maintenir la sécurité et la fiabilité des applications Laravel . La route de santé fournit un moyen simple de vérifier que ton application fonctionne et est réactive, ce qui la rend inestimable pour les systèmes de surveillance du temps de fonctionnement et d'alerte. En intégrant cette route, les développeurs peuvent facilement mettre en place des contrôles de santé qui surveillent l'état de l'application, détectant et répondant rapidement à tout temps d'arrêt. La fonction de rotation APP_KEY répond à un problème de sécurité courant en permettant la rotation sécurisée de la clé de chiffrement de l'application sans risquer de perdre des données. Dans les versions précédentes de Laravel, la modification de la clé APP_KEY pourrait entraîner l'inaccessibilité des données en raison de la dépendance du chiffrement à l'égard de cette clé. Laravel 11 introduit une approche plus souple, permettant aux anciennes données d'être déchiffrées avec les clés précédentes spécifiées dans le fichier APP_PREVIOUS_KEYS tout en chiffrant les nouvelles données avec la clé actuelle. Cette fonction est essentielle pour maintenir des normes de haute sécurité, car la rotation régulière des clés peut protéger contre certains types d'attaques cryptographiques sans l'inconvénient de perdre l'accès aux données cryptées. Installer Laravel 11 Si tu cherches à mettre en place une nouvelle installation de Laravel 11, il te suffira de suivre les procédures normales d'installation de Laravel manuellement ou via Softaculous. Comment passer à Laravel 11 Il existe deux voies que tu peux emprunter pour effectuer la mise à niveau vers Laravel 11. Tu peux effectuer la mise à niveau manuellement en suivant le guide de mise à niveau deLaravel ou payer pour que Laravel Shift automatise le processus de mise à niveau. Conclusion Ensemble, ces améliorations de Laravel 11 soulignent l'engagement du framework à faciliter des pratiques de développement efficaces tout en assurant la sécurité et la résilience des applications. En intégrant ces fonctionnalités, Laravel continue d'offrir une base solide pour la création et la maintenance d'applications PHP modernes, en suivant l'évolution des besoins des développeurs et de l'industrie dans son ensemble. Booste tes applis Laravel avec notre hébergementLaravel spécialisé. Fais l'expérience de vitesses plus rapides pour tes applications et sites web Laravel grâce au stockage NVMe , à la protection des serveurs, aux ressources dédiées et aux outils d'optimisation. 99,99 % de disponibilité SSL gratuit Adresse IP dédiée Outils du développeur Hébergement Laravel Partager cet article Articles connexes Réflexion sur Laracon US 2024 : Nos principales conclusions PHP vs Laravel: Le guide complet de la décision commerciale Hébergement partagé pour Laravel: Est-ce la bonne solution ? Sortie de Laravel 11.3 - Présentation des nouvelles fonctionnalités Laravel 11 est maintenant disponible ! Le succès du commerce électronique avec Laravel Pourquoi utiliser Laravel? Comprendre les avantages du framework