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