Il redirectig ci permette di reindirizzare il browser verso una nuova pagina.
In PHP classico utilizziamo:
// redirect verso pagina interna header("location: /nuova-pagina.php"); exit; // serve per interrompere lo script dopo il cambio di pagina o PHP darà ERRORE // redirect verso una risorsa esterna al sito header("location: http://www.sito.it/pagina.php"); exit;
In Symfony utilizzeremo invece:
public function indexAction() { // la funzione fa qualcosa // redirect externally return $this->redirect('http://symfony.com/doc'); // la parte qui sotto non verrà eseguita perchè ho fatto return }
In symfony invocheremo i metodi:
redirect(): per i link esterni
redirectToRoute(): per le pagine interne definite da @Route
public function indexAction() { // redirect to the "homepage" route return $this->redirectToRoute('homepage'); // do a permanent - 301 redirect - Moved Permanently // consente di spostare un dominio o una pagina ad un altro indirizzo // senza perdere il potere e il posizionamento acquisito dalla vecchia pagina. return $this->redirectToRoute('homepage', array(), 301); // redirect to a route with parameters return $this->redirectToRoute('blog_show', array('slug' => 'my-page')); // redirect externally return $this->redirect('http://symfony.com/doc'); }
Bibliografia:
symfony.com/doc/current/controller.html