Symfony
Symfony est un ensemble de composants PHP ainsi qu'un framework MVC libre écrit en PHP . Il fournit des fonctionnalités modulables et adaptables qui permettent de faciliter et d’accélérer le développement d'un site web .
Histoire
L'agence web française SensioLabs est à l'origine du framework Sensio Framework . À force de toujours recréer les mêmes fonctionnalités de gestion d'utilisateurs, gestion ORM , etc. , elle a développé ce framework pour ses propres besoins. Comme ses problématiques étaient souvent les mêmes pour d'autres développeurs, le code a été par la suite partagé avec la communauté des développeurs PHP .
Le projet est alors devenu Symfony (conformément à la volonté du créateur de conserver les initiales S et F de Sensio Framework ), puis Symfony2 à partir de la version 2. La version 2 de Symfony casse la compatibilité avec la branche 1.x. À partir de la version 2, les ruptures de compatibilité entre les versions sont documentées pour faciliter les montées de version.
Le 5 septembre 2017 , Symfony passe la barre du milliard de téléchargements.
Utilisations
Symfony est utilisé par Askeet et beaucoup d'autres applications, dont Delicious et Yahoo! Bookmarks. En 2009, Dailymotion a porté son code sur Symfony et a continué la transition.
Les projets les plus connus utilisant Symfony sont eZ Publish (utilisation de Symfony 3 en full stack ), Drupal depuis la version 8 (utilisation de composants Symfony), phpBB , Laravel , Joomla! , Composer , Magento , Matomo , PrestaShop depuis la version 1.7 (utilisation de composants Symfony).
Fonctionnalités
Versions de PHP utilisées
Symfony étant basé sur PHP , il intègre les fonctionnalités apportées par les nouvelles versions de PHP .
Versions de PHP utilisées par Symfony
Versions de Symfony
Versions de PHP supportées
1.0
≥ 5.2.4
2.0
≥ 5.3.3
3.0
≥ 5.5.9
4.0
≥ 7.1
5.0
≥ 7.2.5
6.0
≥ 8.0
6.1
≥ 8.1
6.2
≥ 8.1
6.3
≥ 8.1
6.4
≥ 8.1
7.0
≥ 8.2
7.1
≥ 8.2
7.2
≥ 8.2
7.3
≥ 8.2
7.4
≥ 8.2
8.0
≥ 8.4
8.1
≥ 8.4
Nouveautés apportées par Symfony
Symfony 1
Symfony propose entre autres à partir de sa première version démarrée en 2007 :
une séparation du code en trois couches, selon le modèle MVC , pour une plus grande maintenabilité et évolutivité ;
des performances optimisées et un système de cache afin d'assurer des temps de réponse optimaux ;
une gestion des URL parlante, permettant à une page d'avoir une URL distincte de sa position dans l'arborescence ;
un système de configuration en cascade utilisant pleinement le langage de description YAML ;
un générateur de back-office et un lanceur de module (scaffolding ) ;
l'internationalisation native ;
le support d'AJAX ;
une architecture extensible permettant créations et utilisations de plugins.
Symfony 2
Sortie en 2011, la v2 apporte :
Symfony 3
Débutée en 2015, la v3 ajoute :
De nouveaux composants ;
L'auto-wiring pour pouvoir injecter les dépendances automatiquement (sans les déclarer dans services.yaml) ;
Un micronoyau pour pouvoir faire des microframeworks .
Symfony 4
Apparue en 2017, la v4 contient :
Nouvel allègement du micronoyau, permettant une installation dite "squelette" en microframework ;
Renommage du dossier web/ en public/ ;
Utilisation du composant .env ;
Disponibilité du composant Messenger pour l'asynchrone via un bus d'évènement ;
Recettes d'installation avec Flex.
Symfony 5
Née en 2019, la v5 bénéficie :
D'un préchargement augmentant les performances de 15 % ;
Les nouveaux composants String et Notifier.
Symfony 6
La version 6.0 est sortie en novembre 2021 et ne fonctionne qu'en PHP >= 8.0 Elle propose :
Une amélioration du profileur avec les aperçus HTML des emails, et la refonte des logs avec filtrage ;
Un typage plus strict du framework ;
Une autocomplétion des commandes dans la console ;
Le support des énumérations comme valeurs des composants Form et Validator.
Symfony 7
La version 7 est sortie en novembre 2023 . Elle nécessite PHP >= 8.2. Parmi les 450 évolutions listées, on peut retenir:
Request Data Mapper, pour mapper facilement les données entrantes avec les DTO et Validator.
AssetMapper, qui devient le gestionnaire d'assets par défaut (il remplace Encore).
De nouveaux composants : Scheduler, Webhook, HtmlSanitizer, Clock
Notes et références
↑ « Release 8.1.11 », 4 novembre 2026 (consulté le 5 novembre 2026 )
↑ (en) « Symfony framework forum : General discussion => New symfony tagline brainstorming », sur symfony-project.org via Wikiwix .
↑ « Développez votre site web avec le Framework symfony2 : Aux origines de Symfony (interview) »(Archive.org • Wikiwix • Que faire ? ) [ vidéo] , sur Vimeo , 15 septembre 2014 (consulté le 28 novembre 2018 ) .
↑ (en) Gilles Taupenas, « Symfony Live Day 2 »(Archive.org • Wikiwix • Que faire ? ) , sur symfony-project.org (consulté le 18 février 2011 ) .
↑ (en) Fabien Potencier , « That’s official now. #Symfony joins the Unicorn club! 1 billion of … *free* downloads What a great community achievement. Thank you! pic.twitter.com/W7TxiiH27R », sur @fabpot , 1:25 pm - 5 sep 2017 (consulté le 5 novembre 2017 ) .
↑ (en) « ApplicationsDevelopedWithSymfony », sur trac.symfony-project.org (consulté le 18 février 2011 ) .
↑ (en) Fabien Potencier, « Delicious Preview built with symfony »(Archive.org • Wikiwix • Que faire ? ) , sur symfony-project.org (consulté le 18 février 2011 ) .
↑ (en) Francois Zaninotto, « Yahoo! bookmarks uses symfony »(Archive.org • Wikiwix • Que faire ? ) , sur symfony-project.org (consulté le 18 février 2011 ) .
↑ (en) Fabien Potencier, « Dailymotion, powered by symfony »(Archive.org • Wikiwix • Que faire ? ) , sur symfony-project.org (consulté le 18 février 2011 ) .
↑ (en) « Ibexa DXP : The Digital Experience Platform dedicated to B2B », sur ez.no (consulté le 21 mai 2023 ) .
↑ « Projects using Symfony », sur symfony.com (consulté le 9 septembre 2015 ) .
↑ (en) Symfony, « Symfony, High Performance PHP Framework for Web Development », sur symfony.com (consulté le 21 mai 2023 ) .
↑ (en) Symfony, « Chapter 1 », sur symfony.com (consulté le 21 mai 2023 ) .
↑ (en) Symfony, « Symfony 2.0 (Symfony Blog) », sur symfony.com (consulté le 21 mai 2023 ) .
↑ (en) Symfony, « New in Symfony 3.0 (Symfony Blog) », sur symfony.com (consulté le 21 mai 2023 ) .
↑ (en) AlessandroMinoccheri, « Symfony 4 Installation and new features », sur dev.to , DEV Community , 18 mai 2018 (consulté le 21 mai 2023 ) .
↑ (en) « Highlights on Symfony 5 : New features to keep in mind », sur Blog Sensiolabs , 8 septembre 2020 (consulté le 21 mai 2023 ) .
↑ « Symfony 6 : quelles sont les nouveautés ?- Easy Partner », sur Easy Partner - Cabinet de Recrutement… , 6 avril 2022 (consulté le 21 mai 2023 ) .
↑ (en) « Symfony 7, a high-performance PHP framework and a set of components. », sur symfony.com (consulté le 24 février 2026 )
↑ (en) « Download Symfony Framework and Components », sur symfony.com (consulté le 28 février 2022 ) .
Voir aussi
Liens externes
Personnalités
Ressources
Implémentations
Frameworks web
Test
Mapping objet-relationnel
Environnement de développement
Toolkit