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

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

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

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

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

4 ответов


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

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

согласно Книге CakePHP, " наиболее распространенным использованием $ this->params является доступ к информации, которая была передана контроллеру через операции GET или POST."

посмотреть здесь.


в 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


и теперь, когда у нас есть 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


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

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