Symfony – Les routes Symfony
Symfony – Les routes Symfony
Cours 1 — Les routes Symfony
Présentation
Une route est le point d’entrée d’une application Symfony.
Lorsqu’un utilisateur saisit une URL dans son navigateur, Symfony recherche une route correspondant à cette URL puis appelle le contrôleur associé.
Sans route, Symfony ne sait pas quel code exécuter.
Schéma général
1
2
3
4
5
6
7
8
9
10
11
Navigateur
↓
URL
↓
Route Symfony
↓
Contrôleur
↓
Réponse HTTP
↓
Navigateur
1. Route simple
1
2
3
4
5
#[Route('/bonjour', name: 'app_bonjour')]
public function bonjour(): Response
{
return new Response('Bonjour');
}
URL :
1
http://localhost:8000/bonjour
Résultat :
1
Bonjour
Comment lire cette route ?
1
#[Route('/bonjour', name: 'app_bonjour')]
Signifie :
1
2
Si l'utilisateur demande /bonjour,
alors Symfony exécute cette méthode.
Le nom :
1
name: 'app_bonjour'
permet de générer des liens ailleurs dans l’application.
2. Route avec paramètre
1
2
3
4
5
#[Route('/patient/{id}', name: 'patient_show')]
public function show(int $id): Response
{
return new Response("Patient : $id");
}
URL :
1
http://localhost:8000/patient/12
Résultat :
1
Patient : 12
Comment lire cette route ?
Symfony détecte automatiquement :
1
/patient/12
et extrait :
1
id = 12
Puis il appelle :
1
show(12)
3. 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
À retenir
Une route :
- associe une URL à un contrôleur ;
- peut contenir des paramètres ;
- est le point d’entrée de Symfony ;
- permet de transmettre des informations au contrôleur.
Schéma mental à retenir :
1
2
3
4
5
6
7
URL
↓
Route
↓
Contrôleur
↓
Réponse
Conclusion
Les routes sont la porte d’entrée de Symfony.
Lorsque tu ouvriras un contrôleur dans SoigneMoi, la première chose à regarder sera généralement l’attribut :
1
#[Route(...)]
Il indique comment l’utilisateur arrive dans le code.
This post is licensed under CC BY 4.0 by the author.