Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
prog:symfony:controleurs:controllers_vars [15/09/2022 15:59] thierry créée |
prog:symfony:controleurs:controllers_vars [15/09/2022 16:16] (Version actuelle) thierry [Code] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Contrôleurs et Variables ====== | ====== Contrôleurs et Variables ====== | ||
===== Passer une variable dans l'URL ===== | ===== Passer une variable dans l'URL ===== | ||
+ | Imaginons que nous ayons une URL du type : ''http://truc.com/ticket/8985''\\ | ||
+ | Et que l'on veuille récupérer le numéro de ticket soit : 8985 | ||
+ | ==== Code ==== | ||
+ | Code du contrôleur. | ||
+ | <code php> | ||
+ | class RegTicketController extends AbstractController | ||
+ | { | ||
+ | /** | ||
+ | * Déclaration de la route sous forme d'annotation | ||
+ | * @Route("/ticket/{num}", name="app_reg_ticket") | ||
+ | */ | ||
+ | | ||
+ | // Ci dessous $num correspond a {num} de la route | ||
+ | public function index(string $num): Response | ||
+ | { | ||
+ | return $this->render('RegTicket/index.html.twig', [ | ||
+ | 'num' => $num, | ||
+ | ]); | ||
+ | } | ||
+ | } | ||
+ | </code> | ||
+ | ==== Explications ==== | ||
+ | - ''@Route("/ticket/{num}", name="app_reg_ticket")''\\ On définit une route ''"/ticket/{num}"'' nommée ''app_reg_ticket''\\ la partie entre {} de l'URL, ici ''{num}'', est capturé et stocké dans une variable portant le même nom, soit ''$num''. | ||
+ | - ''public function index(string $num): Response''\\ On déclare une function dans laquelle on récupere en paramêtre la variable ''$num'' sous forme de string. | ||
+ | - ''return $this->render('RegTicket/index.html.twig', ['num' => $num]);''\\ On envois cette variable ''$num'' au template. | ||
====== Sources & Ressources ====== | ====== Sources & Ressources ====== | ||