Comme tous les deux ans, SensioLabs a sorti la dernière version de son framework PHP avec Symfony 6. MyFlow vous avait déjà détaillé les meilleures raisons d’utiliser le framework PHP Symfony, voici aujourd’hui pourquoi passer à sa dernière version et comment procéder.
Symfony 6 : les grandes nouveautés
Voici les raisons les plus évidentes pour lesquelles vous ne pouvez pas passer à côté de cette mise à jour :
- l’optimisation de la sécurité de votre site, avec une bien meilleure gestion des failles ;
- vous profitez d’une base moderne et actualisée ;
- le confort de la rétrocompatibilité : comme d’habitude, Symfony promet la rétrocompatibilité de sa nouvelle version ;
- vous bénéficiez d’améliorations de performances et des nouveautés liées à cette nouvelle version.
Il est naturellement impossible de lister et détailler l’ensemble des nouveautés de Symfony 6. Pour plus de détails, consultez la partie blog du site de Symfony consacrée à ses mises à jour.
Les avantages à passer à Symfony 6 pour les développeurs
La simplicité toujours à l’ordre du jour avec Symfony !
Symfony 6 apporte encore plus d’efficacité aux outils déjà en place, ainsi qu’aux nouveaux, avec une simplicité qui participe à la popularité du framework.
Les fonctions les plus précieuses sont le support natif lié au développement, la sécurité native, la barre d’outils de débogage et les pages d’erreur. Visant l’ensemble des développeurs, les concepteurs de Symfony le rendent toujours disponible que vous ayez ou non de l’expérience. Vous bénéficiez de l’accès à la documentation complète et parfaitement structurée (illustrée de tutoriels et exemples concrets pour faciliter sa compréhension), ainsi que de la communauté Symfony, toujours prompte à apporter son soutien aux développeurs en difficulté.
La souplesse et la flexibilité toujours à l’honneur
Symfony devient de plus en plus facile et rapide à configurer. Cela est notamment dû à l’Event Dispatcher et l’injection de dépendances, ainsi que l’intégration de plugins extensibles et réversibles, sans nécessiter de reconfiguration.
Productivité et gain de temps au programme
Les composants logiciels inclus dans la boîte à outils de Symfony 6 sont simples et rapides à intégrer. Vous réduisez la quantité de code à produire, ce qui diminue d’autant les risques d’erreur.
Vous gagnez toujours plus en temps, donc en productivité.
La détection automatique de la langue
La détection automatique de la langue apporte davantage de confort. Symfony 6 se base sur la langue la plus utilisée, mais le framework met aussi à disposition de ses utilisateurs une application web multilingue dans la langue souhaitée.
Le développement du profileur
Le profileur que propose désormais Symfony 6 s’impose comme indispensable pour les codeurs pour l’analyse des demandes. Il présente des données, des demandes SQL envoyées, la durée de traitement de la requête, le processus d’autorisation et les messages envoyés par mail. Symfony 6 permet de visionner la version HTML du courriel. Le codeur profite de cet aperçu pour simplifier le développement d’envoi de mails.
Le design moderne de Symfony 6 est aussi plus pratique. Vous pouvez désactiver le profileur dans l’objectif d’empêcher l’overhead. Il est aussi possible de filtrer par canal ou par niveau d’erreur.
L’auto-complétion de la console
Symfony vise toujours à faciliter le travail des codeurs, ce qui passe par l’auto-complétion dans sa dernière version. Vous disposez maintenant de commandes de la console s’effectuant automatiquement. Cela permet de trouver les options et arguments obtenus après les commandes effectuées. Vous pouvez compter sur le tabulateur qui se charge de compléter ces arguments et options, sans que vous ayez à recourir à la commande d’aide.
Une meilleure rentabilité du travail
Symfony étant toujours plus simple et plus automatisé, les développeurs gagnent encore davantage de temps. Ils bénéficient d’un développement plus maniable et plus stable, ainsi que d’une approche mieux structurée qui permet de traiter des tâches toujours plus complexes, sans avoir à y consacrer nécessairement davantage de temps.
Comment passer à Symfony 6 ?
Lorsque Symfony sort une nouvelle version majeure, seul le premier chiffre change. Ces versions sont les plus délicates à mettre à niveau, car elles sont autorisées à rompre la rétrocompatibilité. Cependant, Symfony rend ce processus de mise à niveau aussi facile que possible.
Cela signifie que vous pouvez mettre à jour la plupart de votre code avant que la version majeure soit effectivement publiée. Cela s’appelle rendre votre code compatible avec le futur. Vous devez suivre plusieurs étapes pour mettre à jour une version majeure.
1 — Rendre votre code exempt de dépréciation
Au cours du cycle de vie d’une version majeure, de nouvelles fonctionnalités sont ajoutées et les signatures des méthodes et les utilisations des API publiques sont modifiées. Cependant, les versions mineures ne doivent pas contenir de modifications incompatibles avec le passé. Pour ce faire, l’ancien code (par exemple les fonctions, les classes, etc.) fonctionne toujours, mais il est marqué comme déprécié, ce qui indique qu’il sera supprimé ou modifié à l’avenir et que vous devez cesser de l’utiliser.
Lorsque la version majeure est publiée, toutes les caractéristiques et fonctionnalités dépréciées sont supprimées. Ainsi, tant que vous avez mis à jour votre code pour ne plus utiliser ces fonctionnalités dépréciées dans la dernière version avant la version majeure (en l’occurrence la version 5.4.), vous devriez pouvoir effectuer la mise à niveau sans problème. Cela signifie que vous devez d’abord effectuer une mise à niveau vers la dernière version mineure afin de voir toutes les dépréciations.
2 — Mettre à jour vers la nouvelle version majeure via Composer
Une fois que votre code est exempt de dépréciation, vous pouvez mettre à jour la bibliothèque Symfony via Composer en modifiant votre fichier composer.json et en changeant toutes les bibliothèques commençant par symfony/pour la nouvelle version majeure.
3 — Mise à jour des recettes
Au fil du temps — et surtout lorsque vous passez à une nouvelle version d’une bibliothèque — une version mise à jour de la recette peut être disponible. Ces mises à jour sont généralement mineures — par exemple, de nouveaux commentaires dans un fichier de configuration — mais c’est une bonne idée de garder vos fichiers en synchronisation avec les recettes.
Symfony Flex fournit plusieurs commandes pour vous aider à mettre à jour vos recettes. Veillez à valider tous les changements sans rapport avec vos recettes avant de commencer.
4 — Mise à jour de votre code pour qu’il fonctionne avec la nouvelle version
Dans certaines situations rares, la nouvelle version majeure peut contenir des ruptures de rétrocompatibilité. Assurez-vous de lire le fichier UPGRADE-X.0.md (où X est la nouvelle version majeure) inclus dans le dépôt Symfony pour toute rupture de BC.
Symfony 6 est livré avec des types de retour natifs de PHP pour toutes les méthodes.
Le support Symfony avec myFlow
Notre agence est spécialisée dans l’intégration et la programmation de Symfony. Nous vous invitons à nous contacter pour vous accompagner dans votre projet de site ou d’application. Par ailleurs, nous proposons un service de maintenance du framework Symfony qui vous permet de maintenir à jour votre site. Naturellement, nous pouvons nous charger de la transition pour passer à Symfony 6 pour votre site ou application.