Les retours de contrôleur dans Symfony

Les retours de contrôleur dans Symfony
par Rémi Leclerc, le 02/01/2015

Sous Symfony2, un contrôleur retourne généralement soit un gabarit Twig, soit une redirection. Le contrôleur peut aussi transférer la demande vers un autre contrôleur.

Affichage

Affichage d'un gabarit Twig

return $this->render(
  'MonBundle::ma_vue.html.twig',
  array(
    'parametre1' => $parametre1,
    'parametre2' => $parametre2
  )
);

Affichage simple 

return new \Symfony\Component\HttpFoundation\Response('Ce texte sera simplement affiché sur ma page.');

Redirection

Redirection en utilisant le routeur

return $this->redirect(
  $this->generateUrl(
    'ma_route_vers_une_autre_page',
    array(
      'parametre1' => $parametre1,
      'parametre2' => $parametre2
    )
  )
);

Redirection via une URL

return $this->redirect('/chemin/vers/une/autre/page');

Transfert

return $this->forward(
  'UnBundle:Controleur:action',
  array(
    'parametre1' => $parametre1,
    'parametre2' => $parametre2
  )
);