Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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 ======