Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
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 ?
Hors ligne
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
il y a une version abrégé qui permet de faire ça
$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