Qu'est-ce que Symfony et pourquoi en a-t-on besoin ?
\n\nSymfony est un framework composant puissant, mature et l'un des plus populaires pour le langage PHP. Il est conçu pour créer des applications web, allant des petits sites aux systèmes d'entreprise complexes. Contrairement aux frameworks monolithiques, Symfony est construit sur le principe de modularité : il se compose d'un ensemble de composants (bibliothèques) indépendants, bien documentés et réutilisables. Vous pouvez utiliser l'ensemble du framework ou seulement certains de ses composants (par exemple, uniquement le composant de requête HTTP ou de routage) dans tout autre projet PHP.
\n\nPourquoi en a-t-on besoin ?
\n- \n
- Accélération du développement : Symfony fournit des solutions prêtes à l'emploi pour les tâches courantes : routage, gestion des bases de données (via Doctrine ORM), templating (Twig), authentification, traitement des formulaires, mise en cache et bien plus encore. Vous n'avez pas à réinventer la roue. \n
- Structuration et maintenabilité : Le framework impose une architecture claire (MVC — Model-View-Controller), ce qui rend le code organisé, prévisible et facile à maintenir par d'autres développeurs. \n
- Fiabilité et sécurité : Symfony dispose de mécanismes intégrés de protection contre les vulnérabilités courantes (CSRF, XSS, injections SQL). Il est utilisé par des géants comme Drupal, phpBB et de nombreux projets d'entreprise. \n
- Communauté et écosystème : Une immense communauté, des milliers de bundles (extensions) prêts à l'emploi, une excellente documentation et un support à long terme (versions LTS). \n
- Flexibilité : Vous pouvez commencer avec un micro-framework (Symfony MicroKernel) pour une API et ajouter progressivement les composants nécessaires au fur et à mesure de la croissance du projet. \n
Installation de Symfony
\n\nContrairement à Python (où l'on utilise pip), en PHP, la gestion des dépendances se fait avec Composer. L'installation de Symfony comprend deux étapes : l'installation de l'installateur lui-même (Symfony CLI) et la création du projet.
1. Installation de Composer
\nSi vous n'avez pas encore Composer, téléchargez-le et installez-le depuis le site officiel getcomposer.org. C'est un outil global pour PHP.
\n# Vérification de l'installation de Composer\ncomposer --version\n\n2. Installation de Symfony CLI (recommandé)
\nSymfony CLI est un outil pratique pour créer, gérer et exécuter des projets.
\n# Installation sur macOS/Linux (via curl)\ncurl -sS https://get.symfony.com/cli | bash\n\n# Installation sur Windows (via Chocolatey)\nchoco install symfony-cli\n\n# Vérification\nsymfony --version\n\n3. Création d'un nouveau projet
\nUtilisez la commande symfony new pour créer le squelette de l'application.
# Création d'une application web complète (avec Symfony Flex)\nsymfony new my_project --full\n\n# Création d'une micro-application (pour API)\nsymfony new my_api_project\nSi vous ne souhaitez pas installer la CLI, vous pouvez utiliser Composer directement :
\ncomposer create-project symfony/skeleton:"7.0.*" my_project\n# Ou pour une application complète :\ncomposer create-project symfony/website-skeleton:"7.0.*" my_project\n\nDémarrage rapide avec un exemple de code
\n\nCréons une simple page "Hello, World!" avec Symfony.
\n\n1. Création d'un contrôleur
\nUn contrôleur est une classe PHP qui traite une requête et renvoie une réponse. Créez le fichier src/Controller/HelloController.php :
<?php\n// src/Controller/HelloController.php\n\nnamespace App\\Controller;\n\nuse Symfony\\Bundle\\FrameworkBundle\\Controller\\AbstractController;\nuse Symfony\\Component\\HttpFoundation\\Response;\nuse Symfony\\Component\\Routing\\Annotation\\Route;\n\nclass HelloController extends AbstractController\n{\n #[Route('/hello/{name}', name: 'hello_page')]\n