2010-12-19 91 views
21

我记得使用类似我如何检查是否请求后在Zend框架

$this->getRequest()->isPost() 

但似乎没有这样的功能。如何检查,如果请求后这样我就可以验证表单等

+2

在哪种情况下?上面的代码片段应该在ZF在内部执行的控制器 – Phil 2010-12-19 03:40:03

回答

39

$this->getRequest()在控制器的上下文中被注释为返回类Zend_Controller_Request_Abstract的对象。 isPost()是来自Zend_Controller_Request_AbstractZend_Controller_Request_Http的方法。
所以你的IDE不能提供这种方法,但它在那里。

+7

很好的答案。你可以做的一件事是添加一个内联的var类型注释,例如'/ * @var $ request Zend_Controller_Request_Http * /'然后将控制器请求对象获取到一个'$ request'变量中,例如'$ request = $ this-> getRequest )'。如果使用Netbeans或基于PDT的IDE,则应该为HTTP类获得代码完成。 – Phil 2010-12-19 12:12:09

8
if($this->getRequest()->getMethod() == 'POST') { 
     echo "You've got post!"; 
    } 

isPost()应该是有过,不过,我不知道为什么你没有找到它。

+1

中正常工作。 – 2011-11-17 00:59:02

-1

if($ this-> getRequest() - > isPost()) echo“this is post request”;

14
if ($this->getRequest()->isPost()) 
{ 
    echo "this is post request"; 
} 
else 
{ 
    echo "this is not the post request"; 
} 
1
if($this->_request->isPost){ 
echo "Values is POST"; 
} 
else 
{ 
echo "Try again"; 
} 

我刚学的。 Yepppiiiiiiiiii !!!!!!!!!!

+0

这是一个经过测试的代码。 – Rushit 2013-05-06 10:30:06

+1

'_request'是一个受保护的属性,它最好使用getter。 – AnthonyB 2017-04-26 12:51:27

0

并非所有的ZendFramework应用程序都将一个Request实例实例化到Controller中。对于SocialEngine,以下工作:

<?php 
    if (Zend_Controller_Front::getInstance()->getRequest()->isPost()) { 
     ... 
    }