-
Notifications
You must be signed in to change notification settings - Fork 1
Controleur
Appeler un template avec des parametres ou sans
return $this->render('SdzBlogBundle:Blog:index.html.twig');
$url = $this->generateUrl('sdzblog_voir', array('id' => $id));
Générer URL en Absolu
$url = $this->generateUrl('sdzblog_voir', array('id' => $id), true);
Récupérer Les paramètres hors routes exemple GET POST ..etc // On récupère la requête
$request = $this->getRequest();
// On récupère notre paramètre tag
$tag = $request->query->get('tag');
$request = $this->getRequest();
Type de paramètres |
Méthode Symfony2 |
Méthode traditionnelle |
Exemple |
|---|---|---|---|
Variables d'URL |
|
$_GET |
|
Variables de formulaire |
|
$_POST |
|
Variables de cookie |
|
$_COOKIE |
|
Variables de serveur |
|
$_SERVER |
|
Variables d'entête |
|
$_SERVER['HTTP_*'] |
|
Paramètres de route |
|
n/a |
|
if( $request->getMethod() == 'POST' )
{
// Un formulaire a été envoyé, on peut le traiter ici
}
if( $request->isXmlHttpRequest() )
{
// C'est une requête AJAX, retournons du JSON, par exemple
}
return $this->redirect( $this->generateUrl('sdzblog_accueil', array('page' => 2)) );
// Créons nous-mêmes la réponse en JSON, grâce à la fonction json_encode()
$response = new Response(json_encode(array('id' => $id)));
// Ici, nous définissons le Content-type pour dire que l'on renvoie du JSON et non du HTML
$response->headers->set('Content-Type', 'application/json');
return $response;
// Nous n'avons pas utilisé notre template ici, car il n'y en a pas vraiment besoin
Le raccourcis pour une réponse en json.
return new JsonResponse(array('id' => $id));
// Le « flashBag » est ce qui contient les messages flash dans la session
// Il peut bien sûr contenir plusieurs messages :
$this->get('session')->getFlashBag()->add('info', 'Oui oui, il est bien enregistré !');
// On utilise le raccourci : il crée un objet Response
// Et lui donne comme contenu le contenu du template
return $this->get('templating')->renderResponse(
'OCPlatformBundle:Advert:view.html.twig',
array('id' => $id)
);
$contenu = $this->renderView('SdzBlogBundle:Blog:email.txt.twig', array(
'var1' => $var1,
'var2' => $var2
));
return $this->render(
'OCPlatformBundle:Advert:view.html.twig',
array('id' => $id)
);
[Pour savoir l'ensemble des méthodes de l'objet request] (http://symfony.com/fr/doc/current/book/controller.html) (http://api.symfony.com/2.2/Symfony/Component/HttpFoundation/Request.html)