web-dev-qa-db-fra.com

Comment puis-je accéder à une demande GET dans CAKEPHP?

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?

17
AnNaMaLaI

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 .

22
declan

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

24
Code Commander

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

8
Melvin

Vous pouvez le faire uniquement pour obtenir des paramètres d'URL,

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