07/01/2023

0. Présentation

Lu 530 fois Licence Creative Commons

Le framework

Symfony est un framework PHP pour le développement d'application web. Créé en 2005 par Fabien Potencier, il est maintenu par une Core Team ainsi que quelques milliers de contributeurs étant publié en open source sur GitHub.

Symfony suit le modèle d'architecture MVC qui sépare les différentes couches d'une application. Il respecte également de nombreux standards PHP et HTTP et bonnes pratiques de développement, ce qui peut faciliter la compréhension de son fonctionnement interne.

Il regroupe de nombreux outils nécessaires à la conception de projets de grande envergure, et apporte les fonctionnalités principales dont on a besoin pour réaliser tout site web:

  • connexion aux bases de données
  • templating HTML
  • système de formulaires
  • gestion de connexion et droits d'accès
  • système de mise en cache
  • ...

Depuis sa version 4, son installation de base ne comporte que le strict minimum, en faisant donc un micro-framework. Une version "full featured" est toujours mise à disposition, mais la version micro-framework permet de n'installer que ce dont on a besoin. Par exemple:

  • « je développe une API: je n'ai pas besoin du templating »
  • « je récupère mes données depuis des API: je n'ai pas besoin de me connecter à une base de données »

Extensibilité

Le côté micro-framework de Symfony est loin d'être un frein au développement d'applications. Il est possible d'étendre les fonctionnalités d'une application en installant des bundles, ou de nombreux composants qui sont par ailleurs indépendants du framework:

  • Console: applications en ligne de commande
  • Mailer: envoi d'emails
  • Messenger: consommation de messages asynchrone
  • HTTP Client: requêtes HTTP
  • Notifier: envoi de notifications SMS, messagerie, email, ...
  • Mercure: notifications temps-réel du serveur au client
  • ...