2011-12-20 71 views
2

我需要在控制器中捕獲多個參數,而不管這些參數是否已發佈,或者它們是否在url中。

是否$ this - > _ request-> getParam('parameter')工作不管?

+0

簡短的回答,是的。 – Layke 2011-12-20 16:32:18

+0

我只是好奇。爲什麼你事先不知道你的變量是如何傳遞的? Surley你知道你的表單提交哪種方法? – vascowhite 2011-12-20 21:59:49

回答

2

爲了使生活更輕鬆和更短的代碼,你可以使用_getParam功能在你的控制器:

$page = $this->_getParam('page', 1); 

注意,第二個函數變量的默認值,如果請求不包括特定的變量。

2

簡短的回答,是的。

如果您在控制器中,可以通過像訪問getParam()方法那樣訪問GET參數的任何POST。

$this->getRequest()->getParam("foo")將獲得參數foo,如果它通過get參數存在於URL中或POST中。它也將獲得任何用戶設置參數。

1

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

會得到幾個參數,不管發送的操作類型(GET或POST)的。

$this->getRequest()->getParam('foo'); 

會得到你個人要求的參數。

0

我總是喜歡使用功能的短:

$parameter = $this->_getParam('parameter');