La version 7 de Symfony, qui vient tout juste de sortir après deux ans de développement et la contribution de plus de 600 personnes, apporte plusieurs nouveautés intéressantes. Voici un résumé des principales fonctionnalités :
-
Fin du support des annotations Doctrine et du SensioFrameworkExtraBundle:
- Jusqu’à la sortie de PHP 8, le langage ne permettait pas nativement d’ajouter des métadonnées à une classe, une fonction ou une propriété, à la façon des annotations de Java ou des décorateurs de Python.
- La version 7.0 de Symfony profite de l’ajout natif de cette fonctionnalité dans PHP 8, nommée attributs, rendant ainsi les annotations obsolètes.
- De plus, le support d’un des plus anciens bundles de Symfony est supprimé, car les annotations courantes (telles que
@Route
,@ParamConverter
ou@IsGranted
) sont désormais incluses dans le framework.
-
Nouveaux composants :
- AssetMapper : Permet d’écrire du JavaScript dans une application Symfony sans avoir besoin d’un module bundler (comme Webpack). Il utilise le support natif de
importmap
et d’autres fonctionnalités modernes de JavaScript par les navigateurs. - Scheduler : Basé sur Messenger, ce composant permet de générer des messages directement selon les fréquences assignées, similaire à un Cron.
- AssetMapper : Permet d’écrire du JavaScript dans une application Symfony sans avoir besoin d’un module bundler (comme Webpack). Il utilise le support natif de
-
Typage amélioré :
- Symfony 7 ajoute des types PHP natifs à toutes les propriétés et valeurs de retour des méthodes. Cela améliore la gestion des erreurs, le débogage et l’auto-complétion dans votre IDE.
-
Lifting du Profiler :
- Le Profiler, que vous connaissez et appréciez, bénéficie d’un look moderne et frais. Une meilleure expérience utilisateur et une interface plus agréable faciliteront le débogage.
En résumé, Symfony 7 apporte des améliorations significatives pour les développeurs et continue d’être un framework web robuste et évolutif utilisé par 15 % du Web mondial123.