Route
La route est l'élément permettant au noyau Symfony de savoir quel élément appeler.
Il existe plusieurs formats pour configurer les routes avc Symfony. En voici deux pour cet exemple :
YAML
# Fichier config/route.yaml default: path: /default defaults: { _controller: App\Controller\DefaultController::index }
Attention, l'indentation se fait avec 4 espaces par niveau.
Voici les éléments constitutifs de la route :
- default
- Nom de la route. Permet d'appeler cette route dans les liens par exemple. Doit être unique.
- path
- Chemin défini par la route, c'est l'url relative d'accès aux ressources liées à la route.
- defaults
- Paramètres de la route
Concernant les paramètres, voici les éléments :
- _controller
- action effectuée par l'appel à cette route; ici l'appel d'un contrôleur
- App\Controller
- Espace de nom du contrôleur
- DefaultController
- Nom du contrôleur à appeler
-
src/Controller/DefaultController.php
- index
- nom de la méthode à appeler dans le contrôleur
PHP
Voici l'équivalent en PHP, tel que généré par la console. On utilise ici les annotations PHP.
// fichier src/Controller/DefaultController.php /** * @Route("/default", name="default") */ public function index() {
Derrière la magie
Pour pouvoir exploiter les annotations PHP, le routeur utilise le fichier de configuration
config/routes/annotations.yml
controllers: resource: ../../src/Controller/ type: annotation