Les contrôleurs
- Dans le dossier
/src/Controller on peut ajouter des classes définissant des contrôleurs
- Un contrôleur définit des routes associées à des actions.
- Usuellement un contrôleur hérite de
Symfony\Bundle\FrameworkBundle\Controller\AbstractController.
- Chaque Route (
Symfony\Component\Routing\Annotation\Route) est décrite grâce à une annotation qui précède la
méthode réalisant l'action souhaitée.
- Les annotations correspondent à des attributs PHP (apparus avec PHP 8) qui fournissent des métadonnées
structurées et lisibles par machine.
- La réponse HTTP à l'action est produite via le résultat de la méthode, c'est une instance de
Symfony\Component\HttpFoundation\Response.
- Exemple :
<?php
// src/Controller/HelloWorldController.php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\HttpFoundation\Response;
class HelloWorldController extends AbstractController
{
#[Route('/HelloWorld')]
public function HelloWorldAction(): Response
{
return new Response(
'<!DOCTYPE html><html><body><h1>Hello World !</h1></body></html>'
);
}
}