Comment créer une première page sur Symfony 5

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