Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 25-07-2008 14:32:22

longmaomao
Membre
Date d'inscription: 19-06-2008
Messages: 32

[_forward ou _redirect] la différence

Bonjour,

              j'aimerais savoir quelle est la différence entre _forward et _redirect
              merci.

Hors ligne

 

#2 25-07-2008 15:13:42

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [_forward ou _redirect] la différence

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+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#3 25-07-2008 22:29:44

yannux
Membre
Lieu: Rennes
Date d'inscription: 07-04-2007
Messages: 284
Site web

Re: [_forward ou _redirect] la différence

Et la différence entre

_redirect
et
$this->getHelper('Redirector')->gotoAndExit();
et
$this->_helper->redirector->goto();


Société : Direct Info Service

Hors ligne

 

#4 26-07-2008 11:23:17

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [_forward ou _redirect] la différence

Hello,

Dans un contrôleur :

Code:

$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)


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages