Comment puis-je accéder à une demande GET dans CAKEPHP?
Si je passe une variable dans l'URL
http://samplesite.com/page?key1=value1&key2=value2
Devrais-je utiliser $ _GET ou $ this-> params pour obtenir les valeurs dans controller? Quelle est la norme dans CAKEPHP?
La méthode standard pour faire cela dans Cake consiste à utiliser $this->params
.
$value1 = $this->params['url']['key1'];
$value2 = $this->params['url']['key2'];
Selon le livre de CakePHP, "l'utilisation la plus courante de $ this-> params est d'accéder aux informations transmises au contrôleur via les opérations GET ou POST."
Voir ici .
Dans CakePHP 2.0, cela semble avoir changé. Selon la documentation, vous pouvez accéder à $this->request->query
ou $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/fr/controllers/request-response.html
Et maintenant que nous avons CakePHP 3; vous pouvez toujours utiliser $this->request->query('search')
dans vos vues.
Et dans CakePHP 3.5 +, vous pouvez utiliser $this->request->getQuery('search')
http://book.cakephp.org/3.0/fr/controllers/request-response.html#request-parameters
Vous pouvez le faire uniquement pour obtenir des paramètres d'URL,
$this->request->pass; //Array of all parameters in URL