Évolution et compatibilité des versions
Objectifs
Comprendre les différences principales entre les versions 2 et 3 de Symfony, et savoir choisir judicieusement entre une version LTS et une version non LTS pour un projet de développement.
Résumé
Voici un aperçu des différences et des compatibilités entre Symfony 2 et Symfony 3, ainsi que des conseils sur le choix de la version pour vos projets.
Description
A l'heure actuelle, deux versions de Symfony coexistent, Symfony 2 et Symfony 3. Afin de ne pas reproduire le mouvement de panique généré par la sortie de Symfony 2, qui n'assurait plus la rétro-compatibilité avec la version 1 du framework, SensioLabs a décidé de conserver certaines fonctionnalités de Symfony 2 dans Symfony 3. Ainsi, il n'existe pas vraiment de réelle différence entre la dernière version mineure de Symfony 2, à savoir la 2.8, et la première version de Symfony 3, la 3.0.
En fait, la différence va se creuser progressivement au fur et à mesure que de nouvelles versions mineures de Symfony 3 sortiront. Avec le temps, certaines fonctionnalités obsolètes de Symfony 2 seront supprimées au profit de nouvelles fonctionnalités de Symfony 3. Bien que la sortie de Symfony 3 soit récente, son avenir est déjà tout tracé. Vous pouvez consulter sur le site la roadmap, c'est-à-dire la planification de toutes les prochaines versions de Symfony 3.
Chaque version mineure dispose d'une durée de support limitée durant laquelle les contributeurs vont continuer à corriger les éventuels bugs ou failles de sécurité. Habituellement, une version mineure dispose d'une durée de support de 8 mois suivant la date de sa sortie. Mais dans certains cas, comme les versions LTS (support à long terme), cette durée peut aller jusqu'à 36 mois.
Avant de se jeter sur la dernière version disponible, il est important de vous demander si votre projet connaîtra des évolutions sur le long terme. Le cas échéant, il n'est pas gênant de choisir une version non LTS, car chaque évolution sera l'occasion de mettre à jour le framework à sa dernière version. En revanche, si votre projet n'est pas destiné à connaître des évolutions dans le futur, vous pouvez opter pour une version LTS. Comme ça, il bénéficiera au moins de la correction des bugs et des failles de sécurité.