2010-12-19 4 views
21

であれば、私はは、どのように私は、要求がZend Frameworkの中にポスト

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

のようなものを使用して覚えているが、そのような機能がないようにそれはそう確認することができます。リクエストがPOSTの場合、私は、フォームなどを検証することができますので、どのように確認することができ

+2

上のコードスニペットはコントローラ内でうまく動作するはずです – Phil

答えて

39

$this->getRequest()は、コントローラの文脈で、クラスZend_Controller_Request_Abstractのオブジェクトを返すように通知される。 isPost()は、Zend_Controller_Request_Abstractに由来するZend_Controller_Request_Httpの方法です。
あなたのIDEはこの方法を提供できませんが、そこにあります。

+7

素晴らしい答え。あなたができることの1つは、 '/ * @var $ request Zend_Controller_Request_Http * /'のようなインラインvar型のコメントを追加し、 '$ request = $ this-> getRequestのような' $ request'変数にコントローラリクエストオブジェクトを取得することです) '。 NetbeansまたはPDTベースのIDEを使用している場合は、HTTPクラスのコード補完を取得する必要があります。 – Phil

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

isPost()もそこである必要があり、あなたがそれを見つけていない理由を、しかし、私は知りません。

+1

これはZFが内部で行うことです。 –

-1

if($ this-> getRequest() - > isPost()) echo "これは投稿要求です";

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

+1

'_request'はgetterを使用するのが望ましい保護された属性です。 – AnthonyB

0

すべてのZendFrameworkアプリケーションが、要求インスタンスをコントローラにインスタンス化するわけではありません。 SocialEngineの場合、次の作品があります。

<?php 
    if (Zend_Controller_Front::getInstance()->getRequest()->isPost()) { 
     ... 
    } 
関連する問題