Dynamic-Mess.com


"The world is a dynamic mess of jiggling things..."

Contrôleurs : Manipuler les réponses avec Symfony 2

Article posté le 26-08-2014 dans la catégorie PHP

Après avoir vu comment manipuler les requêtes sous Symfony II, voici comment manipuler les réponses.

1- Brut de décoffrage

Si vous voulez envoyer une réponse brute sans passer par un template, voici comment procéder. Exemple ici avec une erreur 404 :

// Création de la réponse
    $response = new Response;
    // Message ou contenu
    $response->setContent('Peugot 404, la voiture ou page qui n\'existe pas!');
    // On définit le code HTTP
    $response->setStatusCode(404);

2- Réponse mise en forme

La mise en forme utilise la méthode $this->render :

public function indexAction($name) {
        return $this->render('TotoSiteBundle:Default:index.html.twig', array('name' => $name));
//Paramètres : 1) Bundle + Sous-dossier de la vue + nom du template 2) Données pour la vue
    }

Effectuer une redirection

On utilise $this->redirect

return $this->redirect( $this->generateUrl('monbudle_accueil', array('page' => 2)) ); //Redirige vers la page accueil et envoie 2 en paramètre

Changer le content-type

$response->headers->set('Content-Type', 'application/json'); //Ici, la réponse est au format json

 


Tweet
comments powered by Disqus