Les redirections
La méthode redirect() permet de rediriger l’utilisateur vers une autre action.
Syntaxe :
redirect( string|array $url , integer $status 302 )
Cette méthode attend deux arguments.
Le premier argument $url contient l’URL vers laquelle l’utilisateur va être redirigé.
Cette URL peut être relative ou absolue :
return $this->redirect('/MonController/MonAction');
return $this->redirect('http://mon-url.fr/moncontroller/monaction');
Le premier paramètre peut aussi prendre la forme d’un tableau, ce qui permet de rediriger vers un autre contrôleur, une autre action et de passer des paramètres.
Le deuxième, optionnel, correspond au code HTTP qui accompagne la redirection.
Exemples :
Le code suivant redirige vers le contrôleur SuperController et l’action SuperPouvoir avec le paramètre $type = téléportation :
return $this->redirect(
[
'controller' => 'Super',
'action' => 'SuperPouvoir',
$type
]);
Le tableau en premier argument va générer l’URL :
http://mon-url.fr/super/superpouvoir/téléportation
Pour rediriger vers une autre action du même contrôleur :
return $this->redirect(
[
...