Как получить доступ к запросу 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