IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Laravel 11 est maintenant disponible s'accompagnant de Laravel Reverb
Le framework web pour PHP introduit une structure d'application minimale et utilise SQLite par défaut

Le , par Jade Emy

18PARTAGES

6  0 
Taylor Otwell, créateur et PDG de Laravel, annonce la sortie de Laravel 11 et de Laravel Reverb. Laravel 11 introduit une structure d'application minimale, utilisant SQLite par défaut entre autre. Reverb est le dernier ajout à l'écosystème Laravel et est un serveur WebSocket évolutif de première partie.

Laravel est un framework web open-source écrit en PHP respectant le principe modèle-vue-contrôleur et entièrement développé en programmation orientée objet. Comme annoncé à Laracon EU, Laravel 11 introduit une structure d'application minimale, utilisant SQLite par défaut, implémentant le routage de santé, offrant une limitation de débit par seconde, supportant la rotation gracieuse des clés de chiffrement, améliorant les tests de file d'attente, introduisant de nouvelles commandes Artisan, ajoutant le transport de courrier Resend, intégrant le validateur Prompt, et bien d'autres choses encore.

Reverb est le dernier ajout à l'écosystème Laravel et est un serveur WebSocket évolutif de première partie qui a été introduit pour fournir des capacités robustes en temps réel à vos applications.

Pour obtenir tous les détails de cette version, vous pouvez consulter les notes de version officielles et le guide de mise à jour de Laravel. Voici quelques-uns des points forts de cette version.

https://youtu.be/rmMCiP-iVYM

Structure d'application minimale

Laravel 11 introduit une structure d'application minimale pour les nouvelles applications Laravel, sans qu'il soit nécessaire de modifier les applications existantes. La nouvelle structure d'application est destinée à fournir une expérience plus légère et plus moderne, tout en conservant de nombreux concepts avec lesquels les développeurs Laravel sont déjà familiers.

Le dossier app a été massivement simplifié ; les noyaux HTTP et Console ont été supprimés. Les neuf middlewares qui étaient rarement personnalisés ont été déplacés dans le framework lui-même, le gestionnaire d'exception a été supprimé, et le répertoire Providers a été rationalisé en un seul fournisseur.

Voici à quoi ressemble le nouveau dossier app :


La personnalisation reste une priorité. Pour ajuster les paramètres de haut niveau du comportement de l'application, vous pouvez utiliser le fichier bootstrap/app.php revitalisé. Ce fichier vous permet de modifier le routage de votre application, l'intergiciel, les fournisseurs de services, la gestion des exceptions, etc :


En outre, le dossier routes a été simplifié ; les fichiers routes api.php et channels.php ne sont plus présents par défaut, car de nombreuses applications n'ont pas besoin de ces fichiers.


Au lieu de cela, ils peuvent être créés à l'aide de simples commandes Artisan :

Code : Sélectionner tout
1
2
3
php artisan install:api 
 
php artisan install:broadcasting
Et ce n'est pas tout ! Il y a de nombreux détails sur la nouvelle structure d'application de Laravel dans les notes de version pour en savoir plus.

Laravel Reverb

Laravel Reverb apporte une communication WebSocket en temps réel extrêmement rapide et évolutive directement dans votre application Laravel, et fournit une intégration transparente avec la suite existante d'outils de diffusion d'événements de Laravel, tels que Laravel Echo.

De plus, Reverb supporte la mise à l'échelle horizontale via les capacités de publication/souscription de Redis, ce qui vous permet de distribuer votre trafic WebSocket à travers plusieurs serveurs Reverb qui supportent tous une seule application à forte demande.

Voici un exemple de test de stress avec ~30 000 clients maintenant des connexions ouvertes à Reverb, où chaque connexion est souscrite à 10 canaux différents, et plus de 6 000 messages sont échangés par seconde :


En outre, vous pouvez surveiller les performances de vos serveurs Reverb dans Laravel Pulse pour obtenir une meilleure compréhension du nombre de connexions et de messages traités;

SQLite par défaut

Par défaut, les nouvelles applications Laravel utilisent SQLite pour le stockage de la base de données, ainsi que le pilote database pour la session, le cache et la file d'attente de Laravel. De plus, la création d'un projet à l'aide de la commande composer create-project ou de l'installateur Laravel créera automatiquement le fichier SQLite et exécutera les migrations de base de données initiales pour vous :


Cela vous permet de commencer à construire votre application immédiatement après avoir créé une nouvelle application Laravel, sans avoir à installer de logiciel supplémentaire ou à créer des migrations de base de données supplémentaires.

Routage de santé

Les nouvelles applications Laravel 11 incluent une directive de routage de santé, qui indique à Laravel de définir un point de terminaison de contrôle de santé simple qui peut être invoqué par des services tiers de surveillance de la santé des applications ou des systèmes d'orchestration tels que Kubernetes. Par défaut, cette route est servie à /up :


Lorsque des requêtes HTTP sont effectuées vers cette route, Laravel envoie un événement DiagnosingHealth, ce qui vous permet d'effectuer des contrôles de santé supplémentaires pertinents pour votre application, tels que la vérification de la connectivité de la base de données et l'assurance que le cache fonctionne comme prévu.

Test d'interaction avec les files d'attente

Auparavant, tester qu'un travail en file d'attente a été libéré, supprimé ou qu'il a échoué manuellement était fastidieux et nécessitait la définition de fakes et de stubs de file d'attente personnalisés. Cependant, dans Laravel 11, vous pouvez facilement tester ces interactions de file d'attente en utilisant la méthode withFakeQueueInteractions :


Outre l'assertion assertReleased, que vous pouvez utiliser pour vérifier si un travail a été remis dans la file d'attente, vous pouvez également utiliser les assertions assertFailed ou assertDeleted pour déterminer si un travail a échoué ou a été supprimé, respectivement.

Rotation gracieuse des clés de chiffrement

Comme Laravel chiffre tous les cookies, y compris le cookie de session de votre application, toutes les requêtes adressées à une application Laravel reposent sur le chiffrement. Cependant, pour cette raison, la rotation de la clé de chiffrement de votre application déconnecterait tous les utilisateurs de votre application. En outre, le décryptage des données chiffrées par la clé de chiffrement précédente devient impossible.

Laravel 11 vous permet de définir les clés de chiffrement précédentes de votre application sous la forme d'une liste délimitée par des virgules via la variable d'environnement [C]APP_PREVIOUS_KEYS[/B
C] :


Lors du chiffrement des valeurs, Laravel utilisera toujours la clé de chiffrement "actuelle", qui se trouve dans la variable d'environnement APP_KEY. Lors du déchiffrement des valeurs, Laravel essaiera d'abord la clé courante. Si le déchiffrement échoue avec la clé actuelle, Laravel essaiera toutes les clés précédentes jusqu'à ce que l'une d'entre elles soit capable de déchiffrer la valeur.

Cette approche du déchiffrement gracieux permet aux utilisateurs de continuer à utiliser votre application sans interruption, même si votre clé de chiffrement est modifiée.

https://youtu.be/f41juaJMxKE


Et bien plus encore

Voici la liste d'autres améliorations et de nouvelles fonctionnalités dans Laravel 11 qui n'a pu être mentionné dans cet article :

  • Limitation du débit par seconde
  • Transport du courrier de renvoi
  • Intégration du validateur d'invite
  • Nouvelles commandes Artisan
  • Améliorations des modèles de caste
  • La fonction Once
  • Amélioration des performances lors des tests avec les bases de données en mémoire
  • Meilleure prise en charge de MariaDB
  • Et bien d'autres choses encore...


L'équipe de Laravel déclare :

Nous vous encourageons à consulter les notes de version et le guide de mise à jour pour plus d'informations sur les nouvelles fonctionnalités et les améliorations de Laravel 11.

Enfin, nous aimerions remercier la communauté Laravel pour ses contributions à cette version. Nous sommes vraiment reconnaissants pour le temps et les efforts que beaucoup d'entre vous ont consacrés à faire de Laravel 11 une réalité.

Nous espérons que vous apprécierez cette nouvelle version et nous sommes impatients de voir les applications étonnantes que vous créerez avec Laravel 11.0 !

Dans la vidéo suivante, Taylor Otwell, fondateur et PDG de Laravel, présente et montre les nouveautés de Laravel 11 :


Source : Taylor Otwell

Et vous ?

Quel est votre avis sur cette nouvelle version de Laravel ?

Voir aussi :

Laravel 9 est disponible, elle apporte une sortie route:list améliorée, un pilote de base de données Laravel Scout, une nouvelle syntaxe d'accesseur / mutateur Éloquent

JetBrains propose une offre groupée spéciale PhpStorm/Laravel Idea : un aperçu des avantages de l'utilisation de PhpStorm avec le plugin Laravel Idea pour les développeurs Laravel

Un rapport révèle que la plupart des déploiements de PHP utilisent des versions qui ne sont plus prises en charge, 61,9 % des répondants utilisent encore des versions de PHP en fin de vie

Une erreur dans cette actualité ? Signalez-nous-la !