Créer une page dans Symfony
Sommaire
- 1- Objectifs
- 2- Présentation
- 3- Création avec la console
- 4- Exemple:
- 4.1- Création d'un nouveau projet Symfony :
- 4.2- Accéder au répertoire du projet :
- 4.3- Création d'un contrôleur :
- 4.4- Définir une action dans le contrôleur :
- 4.5- Création d'un template Twig :
- 4.6- Test de la page :
- 4.6.1- Sommaire du cours Symfony
Créer une page dans Symfony
-
Objectifs
- Identifier et comprendre les rôles de chaque composant du modèle MVC dans Symfony : Modèle, Vue et Contrôleur.
-
Présentation
- Pour créer une page dans Symfony, il faut, au minimum :
- Une route : pour faire le lien entre une URL et une méthode d’un contrôleur
- Un contrôleur : qui contient des méthodes, chacune, en générale, associée à une route
- Une méthode : permet l’execution d’une action précise, généralement en lien avec une route
-
Création avec la console
- Symfony propose un outil qui se nomme «
maker
» qui permet de générer du code pour nous. Le code produit est très générique, ne correspond pas forcément exactement à vos besoin, mais permet d’avoir une première base de travail et une structure pour vos différents fichiers. - Pour installer le maker (si vous n’avez pas installé un projet avec toutes les dépendances –wepabb), en étant dans votre projet : composer require maker –dev ou
symfony composer require maker --dev
- Ensuite pour utiliser le maker, dans le projet saisir la commande suivante:
bin/console make:controller NomDuController
- Cette commande va générer un controller nommé « NomDuController » (dans src/controller) et la vue associée dans le repertoire templates/NomDuController, avec une méthode index.
-
Exemple:
-
Création d’un nouveau projet Symfony :
- Commencez par créer un nouveau projet Symfony en utilisant Symfony CLI. Ouvrez votre terminal et exécutez la commande suivante :
symfony new mon_projet
- Cela créera un nouveau projet Symfony nommé « mon_projet ».
-
Accéder au répertoire du projet :
- Après avoir créé le projet, accédez au répertoire du projet en utilisant la commande cd :
cd mon_projet
-
Création d’un contrôleur :
- Symfony suit le modèle MVC (Modèle-Vue-Contrôleur). Commencez par créer un contrôleur. Exécutez la commande suivante pour créer un contrôleur appelé AccueilController :
php bin/console make:controller AccueilController
- Cette commande générera un nouveau fichier AccueilController.php dans le répertoire src/Controller.
-
Définir une action dans le contrôleur :
- Ouvrez le fichier src/Controller/AccueilController.php et définissez une action qui renverra la réponse pour votre page d’accueil. Par exemple :
- Dans cet exemple, la méthode
index()
renvoie la réponse pour la page d’accueil. Elle utilise la méthoderender()
pour rendre un template Twig index.html.twig. -
Création d’un template Twig :
- Créez un nouveau fichier Twig nommé index.html.twig dans le répertoire templates/accueil/ :
-
Test de la page :
- Maintenant, vous pouvez accéder à votre page d’accueil en ouvrant votre navigateur et en accédant à l’URL http://localhost:8000.
- Ces étapes devraient vous aider à créer votre première page dans Symfony avec un exemple réel. Vous pouvez ensuite continuer à ajouter plus de fonctionnalités à votre application en utilisant Symfony.
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class AccueilController extends AbstractController
{
/**
* @Route("/", name="accueil")
*/
public function index(): Response
{
return $this->render('accueil/index.html.twig', [
'controller_name' => 'AccueilController',
]);
}
}
{# templates/accueil/index.html.twig #}
<!DOCTYPE html>
<html>
<head>
<title>Page d'accueil</title>
</head>
<body>
<h1>Bienvenue sur la page d'accueil !</h1>
</body>
</html>