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