Symfony

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Symfony
Symfony2.svg

Projet par défaut de Symfony.
Projet par défaut de Symfony.

Développeur SensioLabs
Première version
Dernière version 2.7.3 () [+/-]
Version avancée 2.8.0[1] ([2])
Écrit en PHP
Environnement Multiplate-forme
Langue Multilingue
Type Framework
Licence MIT
Site web www.symfony.com

Symfony est un framework MVC libre écrit en PHP 5 destiné majoritairement aux professionnels du développement. 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[modifier | modifier le code]

L'agence web française SensioLabs est à l'origine du framework Sensio Framework[3]. À force de toujours recréer les même fonctionnalités de gestion d'utilisateurs, gestion ORMetc., elle a développé ce framework pour ses propres besoins. Comme ces 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 (suite à 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.

Ce framework et ses fonctionnalités seront implémentés comme base de la version 8 du système de gestion de contenu Drupal[5].

Utilisations[modifier | modifier le code]

Symfony est utilisé par Askeet et beaucoup d'autres applications[6], dont Delicious[7] et les vingt millions d'utilisateurs de Yahoo! Bookmarks[8]. En 2009, Dailymotion a porté son code sur Symfony et a continué la transition[9].

Fonctionnalités[modifier | modifier le code]

Symfony 1.x utilise PHP5 (version >= 5.2.4). Symfony 2.x requiert une version de PHP supérieure ou égale à 5.3.3

Symfony (1.x) propose entre autres :

  • 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 YAML ;
  • un générateur de back-office et un lanceur de module (scaffolding) ;
  • l'internationalisation native ;
  • une couche de mapping objet-relationnel (ORM) et une d'abstraction de données ;
  • le support d'AJAX ;
  • une architecture extensible permettant créations et utilisations de plugins.

Symfony fournit une interface en ligne de commande pour améliorer la productivité en créant un code de base modifiable à volonté.

Notes et références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]