- Dans le répertoire
src/AppBundle/Controller/
on peut ajouter des controleurs gérant des routes associées à des actions.
- Ainsi la classe HelloWorldController permet de créer un programme Hello World ! dans Symfony :
namespace AppBundle\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class HelloWorldController
{
/**
* @Route("/HelloWorld")
*/
public function helloWorldAction()
{
return new Response(
'<html><body><h1>Hello World !</h1></body></html>'
);
}
}
- La directive
@Route
définit une URL
- La méthode d'action associée est un controleur qui renvoie une instance de Response.
- Symfony offre un système de templates permettant de produire plus efficacement des pages HTML : twig
- classe HelloWorldController (v2)
namespace AppBundle\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class HelloWorldController
{
/**
* @Route("/HelloWorld")
*/
public function HelloWorldAction()
{
return new Response(
'<html><body><h1>Hello World !</h1></body></html>'
);
}
/**
* @Route("HelloWorld/mister")
*/
public function HelloMisterAction()
{
$mister = "Fournier";
return $this->render('HelloWorld/mister.html.twig', );
}
}
- Le fichier
app/Resources/views/HelloWorld/mister.html.twig
:{# app/Resources/views/HelloWorld/mister.html.twig #}
<h1>Hello Mister {{ lastName }} !</h1>