Table des matières

Contrôleurs et Variables

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.

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,
        ]);
    }
}

Explications

  1. @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.
  2. 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.
  3. return $this→render('RegTicket/index.html.twig', ['num' ⇒ $num]);
    On envois cette variable $num au template.

Sources & Ressources