2010-12-19 87 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()) { 
     ... 
    }