Symfony – Les paramètres de route
Cours 2 — Les paramètres de route
Présentation
Les paramètres de route permettent de transmettre des informations depuis l’URL vers le contrôleur.
Grâce à eux, une même route peut servir à afficher des patients différents, des séjours différents ou des avis différents.
Schéma général
1
2
3
4
5
6
7
URL
↓
Route
↓
Extraction des paramètres
↓
Contrôleur
1. Paramètre simple
1
2
3
4
5
#[Route('/patient/{id}', name: 'patient_show')]
public function show(int $id): Response
{
return new Response("Patient : $id");
}
URL :
1
/patient/12
Résultat :
1
Patient : 12
Comment lire cette route ?
1
/ patient / {id}
Signifie :
1
2
La partie fixe est : patient
La partie variable est : id
Symfony récupère automatiquement la valeur.
2. Plusieurs paramètres
1
2
3
4
5
#[Route('/sejour/{id}/{annee}', name: 'sejour_show')]
public function show(int $id, int $annee): Response
{
return new Response("$id - $annee");
}
URL :
1
/sejour/15/2026
Résultat :
1
15 - 2026
3. Paramètre texte
1
2
3
4
5
#[Route('/ville/{nom}', name: 'ville_show')]
public function show(string $nom): Response
{
return new Response($nom);
}
URL :
1
/ville/Anvers
Résultat :
1
Anvers
4. Contraindre un paramètre
Par défaut Symfony accepte tout.
On peut limiter aux nombres :
1
2
3
4
#[Route(
'/patient/{id<\d+>}',
name: 'patient_show'
)]
Valide :
1
/patient/12
Invalide :
1
/patient/toto
Pourquoi utiliser une contrainte ?
Pour éviter qu’une URL incorrecte arrive dans le contrôleur.
Symfony bloque l’accès avant même l’exécution du code.
5. Valeur par défaut
1
2
3
4
5
#[Route(
'/annee/{annee}',
name: 'annee_show',
defaults: ['annee' => 2026]
)]
URL :
1
/annee
Résultat :
1
2026
6. Schéma mental :
1
2
3
4
5
URL
↓
Paramètre
↓
Contrôleur
Conclusion
Les paramètres de route permettent à Symfony de transmettre des informations depuis l’URL vers le contrôleur.
Ils sont utilisés partout dans les applications Symfony, notamment pour afficher, modifier ou supprimer un enregistrement précis.