Как я могу получить доступ к запросу GET в CAKEPHP?
Как я могу получить доступ к запросу GET в CAKEPHP?
Если я передаю переменную в URL
http://samplesite.com/page?key1=value1&key2=value2
Должен ли я использовать параметры $_GET или $this- > для получения значений в контроллере?
Каков стандарт в CAKEPHP?
Ответы
Ответ 1
Стандартный способ сделать это в Cake - использовать $this->params
.
$value1 = $this->params['url']['key1'];
$value2 = $this->params['url']['key2'];
Согласно книге CakePHP, "наиболее частое использование параметров $this- > - это доступ к информации, переданной контроллеру через операции GET или POST".
Смотрите здесь.
Ответ 2
В 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
Ответ 3
И теперь, когда у нас есть 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
Ответ 4
Вы можете сделать это только для получения параметров URL,
$this->request->pass; //Array of all parameters in URL