Les controleurs et les routes :

Les contrôleurs :

Dans les design pattern "MVC", les contrôleurs permettent de déclarer les routes de l'application et de leur associer une méthode prenant en charge le rendu d'une vue "twig". Des contrôleurs sont créés lors de l'utilisation de la commande du MakerBundle "make:controller" ou encore "make:crud". Il est préférable lors de la création de CRUD de nommer les contrôleurs avec le préfixe "admin", comme par exemple "AdminUserController".

La documentation officielle est ici

Créer un contrôleur :

On est inviter à nommer le contrôleur :

Le contrôleur et une vue sont créés.

Les routes :

Les routes sont déclarées dans le contrôleur comme l'illustre le code ci dessous :

Dans le code ci-dessus une route est déclarée pour le méthode nommée "index" du contrôleur. Dans la déclaration, "/home" est l'url dans l'application, et "app_home" le nom de la route que l'on utilisera pour créer des liens dans les fichiers twig comme illustré ci-dessous :

On peut associer plusieurs routes à une méthode d'un contrôleur.

Par défaut, les routes acceptent des données des différents méthodes GET, POST, PUT, etc. On peut sécuriser cela en restreignant la ou les méthodes acceptées par la route.

La documentation officielle est ici