Les controlleurs Symfony
Les Controllers
Maintenant que nous avons localisé la fonction qui écrit le hello world, regardons les possibilités qu'offre Symfony.
class DefaultController extends Controller { /** * @Route("/hello/{name}") * @Template() */ public function indexAction($name) { return array('name' => $name); } }
L'intéret d'un controlleur c'est de réaliser une action lorsqu'une addresse est appellée et de retourner une réponse qui peut être du HTML, du XML ou tout autre type de format. Cette action peut également être une redirection ou une erreur 404 par exemple.
Les templates
Retourner du simple texte c'est bien, mais retourner une template c'est mieux!
Voici deux manière d'appeler un template
/** * @Route("/hello/{name}") * @Template() */ public function helloAction($name) { return array('name' => $name); } /** * @Route("/hello2/{name}") */ public function hello2Action($name) { return $this->render('ENGELAwesomeBundle:Default:hello2.html.twig', array('name' => $name) ); }
Les fichiers templates se trouvent dans notre exemple à
l'adresse suivante :
/src/ENGEL/AwesomeBundle/Resources/views/Default
La première fonction appelle le template
hello.html.twig
et la seconde
hello2.html.twig
La première fonction se base sur son nom pour trouver le template
Crée votre site web au meilleur prix💰