Как я могу получить доступ к GET-запросу в CAKEPHP? - PullRequest
17 голосов
/ 26 мая 2011

Как я могу получить доступ к GET-запросу в CAKEPHP?

Если я передаю переменную в URL

http://samplesite.com/page?key1=value1&key2=value2

Должен ли я использовать $ _GET или $ this-> params для получениязначения в контроллере?Что является стандартом в CAKEPHP?

Ответы [ 4 ]

24 голосов
/ 27 июня 2012

В CakePHP 2.0 это, похоже, изменилось. Согласно документации вы можете получить доступ к $this->request->query или $this->request['url'].

// url is /posts/index?page=1&sort=title
$this->request->query['page'];

// You can also access it via array access
$this->request['url']['page'];

http://book.cakephp.org/2.0/en/controllers/request-response.html

22 голосов
/ 26 мая 2011

Стандартный способ сделать это в Cake - это использовать $this->params.

$value1 = $this->params['url']['key1'];
$value2 = $this->params['url']['key2'];

Согласно книге CakePHP, «наиболее распространенное использование $ this-> params - это доступ к информации,было передано контроллеру с помощью операций GET или POST. "

См. здесь .

8 голосов
/ 28 июля 2015

И теперь, когда у нас есть CakePHP 3;вы все еще можете использовать $this->request->query('search') в своих представлениях.

А в CakePHP 3.5 + вы можете использовать $this->request->getQuery('search')

http://book.cakephp.org/3.0/en/controllers/request-response.html#request-parameters

0 голосов
/ 07 июля 2017

Вы можете сделать это только для получения параметров URL,

$this->request->pass;  //Array of all parameters in URL
...