2011-12-20 4 views
2

Мне нужно захватить несколько параметров в контроллере, независимо от того, были ли они размещены или они указаны в URL-адресе.

$ this -> _ request-> getParam ('параметр') Работает независимо?

+0

Короткий ответ, да. – Layke

+0

Мне просто интересно. Почему вы не знаете перед собой, как будут переданы ваши переменные? Surley вы знаете, с каким методом ваши формы подчиняются? – vascowhite

ответ

2

Чтобы сделать жизнь проще и короче кода, вы можете использовать функцию _getParam в контроллерах:

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

Обратите внимание, что вторая переменная функция является значением по умолчанию, если запрос не включал эту конкретную переменную.

2

Короткий ответ, да.

Если вы находитесь в контроллере, вы можете получить доступ к любому параметру POST из GET, обратившись к методу getParam(), как вы сказали.

$this->getRequest()->getParam("foo") получит параметр foo, если он присутствует в URL-адресе через параметр get или POST. Он также получит любые пользовательские параметры.

1

The

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

Получит несколько параметров, независимо от типа действия, посылаемого (получить или должность).

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

Вы получите индивидуальный запрошенный параметр.

0

я предпочитаю всегда использовать короткую функцию:

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