Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
j'aimerais savoir quelle est la différence entre _forward et _redirect
merci.
Hors ligne
Hello,
_forward : tu es toujours dans le même contexte de requête HTTP
_redirect : une redirection est effectuée (header("Location:...")) donc un nouveau contexte de requête HTTP
A+
Hors ligne
Hello,
Dans un contrôleur :
$this->_redirect('/monmodule/moncontroleur/monaction/monparam/mavaleur') = $this->_helper->redirector('monaction','moncontroleur','monmodule',array('monparam'=>'mavaleur'); = $this->_helper->redirector->direct('monaction','moncontroleur','monmodule',array('monparam'=>'mavaleur'); = $this->_helper->redirector->gotoSimple('monaction','moncontroleur','monmodule',array('monparam'=>'mavaleur'); = $this->_helper->redirector->goto('monaction','moncontroleur','monmodule',array('monparam'=>'mavaleur');
Ils pointent tous vers le même code au final en empruntant un chemin légèrement différent. Tous paramètrent en fait l'objet de réponse en lui activant un header de type location mais sans l'émettre. L'émission sera faite lors du dispatchage de la réponse.
Par contre un exit :
- gotoAndExit
- gotoSimpleAndExit
- gotoUrlAndExit
- gotoRouteAndExit
forcera l'émission immédiate du header avec un exit() qui clôturera le code PHP.
A+
PS : j'oubliais $this->_helper->redirector == $this->getHelper('Redirector')
Dernière modification par mikaelkael (26-07-2008 11:25:03)
Hors ligne
Pages: 1