Comment créer une première page sur Symfony 5
Une page sur Symfony à besoin d'une route, qui appelle un controlleur qui va appeler une vue html.
Pour créer un controlleur, vous pouvez créer directement la classe dans le dossier src/Controller ou utiliser la commande Symfony
symfony console make:controller
Symfony nous proposer un questionnaire pour créer cette classe, ici il nous demande juste le nom
Ce nom, comme toutes les classes doit commencer par une majuscule
Je rentre "ClientController"
Et Symfony me créé mon controller et mon template html associé !
Mon controller ressemble à ça :
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class ClientController extends AbstractController
{
#[Route('/client', name: 'client')]
public function index(): Response
{
return $this->render('client/index.html.twig', [
'controller_name' => 'ClientController',
]);
}
}
La ligne 11 est la route de notre site,
En premier son chemin "/client" puis son nom "client"
Cette page sera donc accessible sur 127.0.0.1:8000/client
Et pourra être généré avec twig en mettant comme nom de route "client"
Ensuite ligne 14, cette fonction affiche juste un fichier html qui est dans templates/client/index.html.twig
Et donne une variable à cette vue qui s'appelle "controller_name" et qui a pour valeur "ClientController"
Donc si on affiche dans notre html {{ controller_name }}, twig va nous afficher "ClientController"
17/11/2021