Symfony - 4.3 Créer des routes dans Symfony

Une route relie une adresse web à une fonction du contrôleur. Symfony permet de définir une route de deux façons, par annotation ou dans un fichier de configuration. Cette leçon compare les deux méthodes, puis crée une nouvelle route.

Définir une route par annotation

La première méthode écrit la route directement au-dessus de la fonction du contrôleur, sous forme d'annotation. Dans la vidéo, la route main est associée à la fonction index.

La vidéo montre d'abord une page d'erreur, puis la corrige en modifiant le fichier de configuration des routes.

Définir une route dans routes.yaml

La seconde méthode se fait dans le fichier config/routes.yaml. Il faut y remplacer le nom principal par main, puis reprendre la configuration présentée dans la vidéo.

Une fois le fichier corrigé, la page Symfony s'affiche sans message d'erreur.

Créer une nouvelle route et une réponse

Pour créer une route, on lui donne un nom, ici start, et une fonction qui renvoie une réponse. La réponse s'écrit avec la classe Response du composant HttpFoundation.

Si le code est correct, la page affiche le message écrit dans la réponse, par exemple « Bienvenue ».

En résumé

Une route relie une adresse à une fonction. Symfony permet de la définir par annotation ou dans routes.yaml. Une fonction peut ensuite renvoyer une réponse HTTP, comme un message simple affiché dans le navigateur.

Points clés

  • Une route relie une adresse web à une fonction du contrôleur.
  • On peut définir une route par annotation au-dessus de la fonction.
  • On peut aussi la définir dans le fichier config/routes.yaml.
  • La classe Response du composant HttpFoundation crée la réponse.
  • Un message s'affiche dans le navigateur si la route est correcte.

Questions fréquentes

Qu'est-ce qu'une route ?

Une route associe une adresse web à une fonction. Quand le navigateur ouvre cette adresse, la fonction est exécutée.

Quelles sont les deux façons de définir une route ?

La première est l'annotation au-dessus de la fonction. La seconde est le fichier config/routes.yaml.

À quoi sert la classe Response ?

Elle construit la réponse renvoyée au navigateur. Le message écrit dans la réponse s'affiche à l'écran.