Symfony est un ensemble de composants PHP ainsi qu'un frameworkMVClibre é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 frameworkSensio Framework[2]. À 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[3]. 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[4]. 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 , Symfony passe la barre du milliard de téléchargements[5].
Utilisations
Symfony est utilisé par Askeet et beaucoup d'autres applications[6], dont Delicious[7] et Yahoo! Bookmarks[8]. En 2009, Dailymotion a porté son code sur Symfony et a continué la transition[9].
Les projets les plus connus utilisant Symfony sont eZ Publish (utilisation de Symfony 3 en full stack[10]), Drupal depuis la version 8 (utilisation de composants Symfony), phpBB, Laravel, Joomla!, Composer, Magento, Matomo[11], 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.