2011-12-20 72 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');