2011-05-26 21 views
15

¿Cómo puedo acceder a una solicitud GET en CAKEPHP?¿Cómo puedo acceder a una solicitud GET en CAKEPHP?

Si estoy pasando una variable en la url

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

¿Debo usar $ _GET o $ this-> params para obtener los valores en el controlador? ¿Cuál es el estándar en CAKEPHP?

Respuesta

20

La forma estándar de hacer esto en Cake es usar $this->params.

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

Según el libro de CakePHP "el uso más común de $ this-> params es acceder a la información que ha sido entregada al controlador a través de operaciones GET o POST."

Ver here.

+0

Gracias Tío ... ¿Debo evitar usar $ _JET en cakephp? – AnNaMaLaI

+1

@ cakephp.saint Sí, normalmente no accedo $ _GET o $ _POST directamente cuando estoy trabajando en Cake. Acabo de actualizar mi respuesta con un enlace al manual. – declan

24

En CakePHP 2.0 esto parece haber cambiado. De acuerdo con la documentación, puede acceder al $this->request->query o $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

+4

Gracias. El rescate a veces no aparece en el primero, sino en el segundo: D – func0der

+3

O incluso $ this-> request-> query ('page'); en lugar de $ this-> request-> query ['page']; – antongorodezkiy

+0

Es necesario: if ($ this-> request-> is ('get')) {$ this-> request-> query ['page'];} –

0

Usted puede hacer esto sólo para obtener params URL,

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