Symfony 6 : quelles sont les nouveautés de la dernière version ?

6 avril 2022

Symfony, framework PHP, qui permet le développement de sites et applications web a sorti récemment sa dernière version appelée 6. Ainsi en novembre dernier, la version LTS de la branche 5.X du framework Symfony a été publiée. Cela nous apporte une fenêtre de support comprenant trois ans de corrections de bugs et de sécurité. 

En même temps, la nouvelle version de la branche 6.X, 6.1, a également été publiée. Cette dernière représente beaucoup de changements, avec de nombreuses nouvelles fonctionnalités intéressantes dont nous allons parler ici.

Dans cet article de blog, découvrez comment cette version de Symfony est un grand pas en avant et un grand changement, en particulier pour les développeurs web. En effet, elle inclut une liste étendue de changements qui faciliteront grandement le développement web de sites et applications web.

Quelles sont les nouveautés de Symfony 6 ?

Améliorations du profiler

Pour le développement, Symfony met à disposition un profileur qui permet d'analyser directement chaque requête. Le profiler affiche par exemple des données sur la requête, le concept d'autorisation, les requêtes SQL envoyées, le temps utilisé pour répondre à la requête, les e-mails envoyés, etc. Avec Symfony 6, un aperçu HTML de l'e-mail est désormais directement affiché, ce qui simplifie considérablement le développement de cet envoi d'e-mail.

D'autre part, nous avons la refonte de la section des journaux. Le design en place est désormais beaucoup plus moderne et la fonctionnalité de filtrage par canal ou par niveau d'erreur est désormais disponible. C'est très utile, car en mode dev, beaucoup de journaux sont générés, et il est difficile de trouver exactement ce dont vous avez besoin. Dans Symfony 6, vous avez également la possibilité de désactiver le profileur pour éviter l'overhead qu'il génère pendant un test en mode dev.

Indications de type

Symfony a toujours été connu pour son excellent support des nouvelles versions de PHP, et dans Symfony 6, ils ont fait un excellent travail concernant les indications de type de tous les composants. Cela renforce de manière très positive la stabilité de la plate-forme, en évitant le typage faible et en permettant aux IDE de s'appuyer sur la syntaxe du langage par le biais d'une norme. Il ne sera plus nécessaire (sauf dans des cas exceptionnels) d'ajouter des docblocks et des annotations à une function. Il s'agit sans aucun doute d'un pas dans la bonne direction pour le développement de PHP dans son ensemble.

Auto-complétion de la console

Cela facilite surtout la vie d'admin et des développeurs Symfony. Les commandes de la console peuvent désormais être complétées automatiquement. De nombreuses commandes exécutées sur la console disposent de nombreux arguments et options. Au lieu de devoir toujours appeler la commande d'aide, ceux-ci peuvent désormais être complétés avec le tabulateur pendant la saisie.

Support des énumérations PHP

Après des années, l'une des fonctions linguistiques les plus souvent demandées est arrivée avec PHP 8.1 : support des énumérations. Jusqu'à récemment, les listes de sélection encodées ne peuvent être représentées que sous forme de class. Cela peut maintenant être utilisé en conséquence dans la nouvelle création de Symfony. Ils peuvent ainsi être directement référencés dans les formulaires.

Reconnaissance automatique de la langue

Chaque navigateur transmet un en-tête Accept-Language de page. Celui-ci contient des informations sur les langues préférées de l'utilisateur. Par exemple, il peut être reconnu que le Français est la langue principale de l'utilisateur mais que l'anglais et l'espagnol sont également compris.

Symfony 6 prend en charge, au plus profond du framework, l'interprétation et le traitement de ces souhaits linguistiques. Ainsi, une application web multilingue peut être appelée directement dans la langue souhaitée par l'utilisateur sans code supplémentaire.

Autres nouveautés de la version 6 de Symfony

  • Prise en charge de Bootstrap5 et Tailwind pour le rendu des formulaires. Vous pouvez désormais les utiliser en incluant le thème globalement dans la configuration twig ou localement dans le modèle de page.
  • Nouvelles fonctionnalités dans le component String : trimPrefix et trimSuffix.
  • Nouvelle classe Path appartenant au composant Filesystem, que vous pouvez utiliser pour normaliser l'accès aux répertoires et aux fichiers.
  • Vous pouvez maintenant ajouter des paramètres à l'objet Translatable.
  • Amélioration des bundle Doctrine orm qui fournissent une passe de compilation pour enregistrer les mapping pour les classes de modèles.
  • Gestionnaires de messagerie configurables par le biais d'attributs, sans avoir à les ajouter à la configuration.
  • Ajout des types PHP dans toutes les propriétés, this, arguments et valeurs du return des private, protected et public function chaque fois que possible
  • Représentation des réponses des services HTTP au format json grâce à l'use de la class JsonResponse définie à true.
  • Consommation par lot des messages du messager via l'interface BatchHandlerInterface.

Quel est l'intérêt de cette nouvelle version de Symfony pour mon entreprise ?

La nouvelle version de Symfony vous offre une longueur d'avance sur l'amélioration de votre projet web (site, application, API, etc.). En tant que framework PHP, Symfony a déjà développé de nombreuses fonctionnalités mineures et moins importantes. En France, tous les propriétaires d'entreprise ne sont pas compétents en matière d'amélioration du Web. À cette fin, beaucoup chercheront à embaucher un développeur PHP pour les aider dans les projets d'app web.

Un excellent développeur PHP qui a de l'expérience et une bonne formation en Symfony 6 devrait être en mesure de travailler plus correctement et de mener à bien l'activité d'une nouvelle manière opportune. Ces facteurs permettront à votre entreprise, selon toute vraisemblance, d'économiser de l'argent et du temps. Avec cette version de Symfony, le développeur disposera de toutes les dernières fonctionnalités, corrections et documentation pour créer un code optimal pour satisfaire le besoin du client.

En fait, tous les correctifs apportés dans les versions précédentes sont fusionnés dans les versions 6. De plus, Symfony 5 atteindra sa fin de vie à un moment donné et vous devrez de toute façon effectuer une mise à niveau. Une mise à niveau plus tôt vous aidera, car peu de choses ont changé par rapport à la 5.4, à part la couche BC.

Comment préparer le passage à Symfony 6 ?

Symfony a une promesse de rétrocompatibilité. Ceux-ci décrivent un ensemble de règles que Symfony promet que le code de vos applications ne sera pas brisé lors de la mise à niveau. Avant la promesse, il était parfois difficile de savoir quelles parties du code pouvaient se casser entre les versions. La promesse corrige cela avec un ensemble détaillé de règles. Ainsi, en plus de ce que vous pouvez attendre du name versionning sémantique, Symfony s'engage à rendre les migrations aussi faciles que possible.

Pour faciliter la transition vers Symfony version 6, vous pouvez apprendre plus dans le journal des dépréciations du framework. De plus, l'utilisation d'un pont spécial PHPUnit peut vous signaler les dépréciations collectées à partir de vos tests unitaires. Donc, si vous êtes sans dépréciation et suivez la promesse de Symfony BC, vous devriez être en mesure de passer à la version 6 de sans trop de problèmes.

En conclusion, cette nouvelle version de Symfony nous apporte un grand nombre de nouvelles fonctionnalités très intéressantes.

L'auteur Florian Grandvallet

Co-Founder

Florian Grandvallet
Postuler à l'annonce Postuler à toutes les annonces Ingénieur système linux orienté web
Remplissez le formulaire
C'est tout bon

On vous recontacte au plus vite !
En attendant, vous pouvez toujours consulter nos autres jobs !

rotate screen

Retourner votre tablette pour une meilleure navigation