Ce qu’il faut retenir de Symfony 5.2

symfony-5

Symfony 5.2 est une nouvelle évolution mineure de Symfony sortie en novembre 2020. Elle intègre au framework de nombreuses fonctionnalités récentes très utiles. Petit tour d’horizon des principales nouveautés à retenir.

Peu de temps après son 15ème anniversaire, en octobre 2020, Symfony a mis en ligne sa nouvelle version : Symfony 5.2.0. La Core Team, accompagnée de toute la communauté Symfony, continue de faire évoluer le framework selon la roadmap de Symfony. La nouvelle version mineure de Symfony intègre de nombreuses nouveautés.

Comme l’expliquait Nicolas Grekas dans l’interview qu’il nous a accordé sur la sortie de Symfony 5, un grand nombre de nouveautés apparaissent à chaque évolution majeure ou mineure du framework. Certaines évolutions mineures peuvent contenir des nouveautés importantes.

Les principales avancées de Symfony 5.2

Revenons sur les principales avancées de Symfony 5.2.0 qui ont attiré notre attention depuis sa sortie :

True colors in the console

Le composant Symfony Console fournit un style par défaut pour votre sortie de commande, mais vous pouvez également appliquer des styles et des couleurs personnalisés. Symfony 5.2 améliore cette fonctionnalité car elle prend en charge les couleurs 24 bits. Au total, vous avez à votre disposition plus de 16 millions de couleurs différentes pour rendre les commandes de votre console magnifiques.

PHP 8 attributes

La sortie récente de PHP 8 a généré de nouvelles fonctionnalités majeures et notamment, les attributs intégrés, également appelés annotations. Symfony 5.2 inclut le support des attributs PHP 8 pour définir les routes et les dépendances requises. Si vous utilisez déjà des annotations, la transition sera transparente.

PHP entre dans une nouvelle ère avec la sortie de PHP 8 et Symfony est entièrement compatible. Ces attributs ne sont qu’un début car de nouvelles avancées sont prévues prochainement pour tirer le meilleur parti des nouveautés de PHP 8.

Rate Limiter

Un « limiteur de débit » contrôle la fréquence à laquelle un événement (par exemple une requête HTTP ou une tentative de connexion) est autorisé. On utilise couramment la limitation des tarifs comme mesure défensive pour protéger les services d’une utilisation excessive. Symfony 5.2 introduit un nouveau composant RateLimiter afin que vous puissiez ajouter ces protections à vos propres applications.

Symfony 5.2 Fabien Potencier
Retrouvez les slides sur Symfony 5.2 de Fabien Potencier lors de la Keynote du SymfonyLive Paris 2020.

La contribution des développeurs de SensioLabs

Plusieurs développeurs du pôle technique de SensioLabs ont participé à cette nouvelle version mineure de Symfony. Deux contributions importantes ont apportées par des développeurs de SensioLabs : Simple DataCollectors et Session Profiling par Laurent Voullemier et Mathias Arlaud.

développeurs SensioLabs

Simpler DataCollectors

L’introduction d’une nouvelle classe AbstractDataCollectors simplifie la création de collecteurs de données personnalisés dans Symfony 5.2. Désormais, le framework enregistre automatiquement ce collecteur de données et l’utilise à partir de la prochaine demande. Vous n’avez plus besoin d’enregistrer les services manuellement.

Session Profiling

Le profilage de session améliore Symfony 5.2 car il affiche dans la barre d’outils de débogage toutes les informations relatives à la session de la demande en cours. De plus, le profileur propose désormais une nouvelle section appelée « Session » dans le panneau Demande/Réponse. Elle affiche les métadonnées de la session (par exemple, la date de création, la durée de vie, etc.), les noms et valeurs des attributs de la session, ainsi que les détails complets de toutes les utilisations de la session.

Bravo à eux pour leurs contributions ! Plusieurs développeurs de SensioLabs contribuent régulièrement à Symfony : en tant que créateur de Symfony, SensioLabs reste naturellement très proche du framework et encourage la contribution des développeurs de son équipe. Pour plus d’informations sur nos offres d’emploi, rendez-vous ici ou contactez nos recruteurs sur LinkedIn.

Retrouvez l’intégralité des nouveautés de Symfony 5.2 sur le post de Fabien Potencier.