2010-04-11 104 views
2

如果我不知道他們的名字,有沒有辦法查看所有發送的參數?Zend框架和參數

例如,我發送這些參數:

  • ID = 1(GET)
  • 名稱= '約翰'(GET)
  • 姓= '史密斯'(GET)

$request = $this->getRequest(); 
echo $request->getParam[0]; // Will output 1 
echo $request->getParam[1]; // Will output 'John' 
echo $request->getParam[2]; // Will output 'Smith' 

謝謝!

(我不是以英語爲母語。)

回答

2

可以使用getParams()方法的方法來獲取所有的請求參數的組合:

$params = $this->getRequest()->getParams(); 

foreach($params as $key => $value) { 
    // Do whatever you want. 
} 

也有getQuery()和的getPost()方法。

+0

究竟是在我心中,但更清晰。我是var_dump($ this-> getRequest() - > getParams(); ) – Hanseh 2010-04-11 19:01:49

+0

@Hanseh - 如果OP想用'$ request->'打印出$ _GET'參數的鍵和值, getParams()'也會給他控制器,動作和模塊(他可能不需要,從問題的特殊性來判斷)。 – karim79 2010-04-11 19:47:50

+0

@ karim79 - 我的錯誤。我只是重申了getParams()函數可用的想法,並且他可以通過操縱它來獲取他需要的變量。感謝您的更正。 – Hanseh 2010-04-11 19:57:12

1
$request = $this->getRequest(); 
print_r($request->getQuery()); // returns the entire $_GET array 
print_r($request->getQuery("foo")); // retrieve a single member of the $_GET array 

所以搶參數名稱和值編程,例如,在一個簡單的循環:

foreach($request->getQuery() as $key => $value) { 
    echo "Key is: " . $key . " and value is: " . $value . '<br />'; 
} 

檢查出API docsZend_Controller_Request_Http