Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 16-08-2007 15:01:57

samy
Nouveau membre
Lieu: Montpellier
Date d'inscription: 18-07-2007
Messages: 9
Site web

$this->_request->getPost

quelle est la différence entre $this->_request->getPost et $_POST ?
j'utilise $_POST pour récupérer les valeurs des formulaires dans le controleur mais quelle est la meilleur solution à employer ?


SAMY

Hors ligne

 

#2 21-08-2007 10:55:39

jbarthe
Membre
Lieu: Montpellier
Date d'inscription: 01-04-2007
Messages: 14
Site web

Re: $this->_request->getPost

A ce que j'ai pu regarder du code, le seul avantage d'utiliser $this->getRequest()->getPost('key') plutôt que $_POST['key'] est de pouvoir faire passer une valeur par défaut à la méthode getPost... Ainsi que de s'intégrer parfaitement au framework...

Mais je trouve tout de même cette technique critiquable, on ne peut pas nier que la notation "$this->getRequest()->getPost('key')" est franchement longue ! Sans compter le nombre de fois que l'on répète "$this->getRequest()".

Je ne comprend pas pourquoi ils n'ont pas pris le temps de créer un raccourci du style "$this->_getPost('key')" et "$this->_getQuery('key')" à la façon de "_getParam()". Je sais que c'est facilement adaptable avec un plugin, mais on peut tout de même se poser la question : pourquoi ne pas l'avoir intégré de base ?

D'ailleurs venons en à "_getParam()", cette méthode récupère les données qu'elles soient POST ou GET, alors qu'on lit souvent qu'en PHP il faut pouvoir garder le contrôle de l'origine des variables, pour justement ne pas les confondre, pouvoir différencier les données POST et GET. Si quelqu'un connait la logique, ce serait vraiment bien de nous l'expliquer ?

Dernière modification par jbarthe (21-08-2007 10:57:15)

Hors ligne

 

#3 21-08-2007 13:19:26

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: $this->_request->getPost

il y a une version abrégé qui permet de faire ça

Code:

$this->getRequest()->key

en fait cette façon de faire utilise la méthode __get de request

cela à aussi un autre avantage la méthode __get va chercher la clef où quelle se trouve dans le request
par exemple en phase de dev il est parfois intéressant de passé les argument en mode GEt et ensuite en mode POST

pendant le dev on vois ainsi les argument dans l'url et on peut faire des tests
il suffit ensuite de passer en mode POST pour que tout rentre dans l'ordre.
utiliser l'accesseur de Request permet de ne rien avoir à changer lorsqu'on passe du mode GET à POST et vice versa.

A+JYT

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