Post

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.