Parámetros del controlador en cakePHP

Se suele especificar el nombre, los modelos que usa (el que comparte el mismo nombre ya está por defecto) y si usa componentes o helpers. Un ejemplo:

class RecipesController extends AppController {
var $name = ‘Recipes’;

var $uses = array(‘Recipe’, ‘User’);
var $helpers = array(‘Ajax’);
var $components = array(‘Email’);
}

El Atributo de Parámetros (“$params”)

Los parámetros del controlador están disponibles en $this->params en tu controlador de CakePHP. Esta variables es usada para proporcionar acceso a la información sobre la petición actual. El uso más común de $this->params es obtener acceso a información que ha sido entregada al controlador a través de las operaciones POST o GET.

form

$this->params['form']

Cualquier dato POST de cualquier formulario se almacena aquí, incluyendo información también hallada en $_FILES.

admin

$this->params['admin']

Contiene el valor 1 si la acción (action) actual fue invocada mediante enrutamiento “admin”.

bare

$this->params['bare']

Almacena un 1 si el diseño (layout) actual está vacío; 0 si no.

isAjax

$this->params['ajax']

Almacena un 1 si la petición actual es una llamada ajax; 0 si no. Esta variables sólo se establece si el componente RequestHandler es usado en el controlador.

controller

$this->params['controller']

Almacena el nombre del controlador actual que está sirviendo la petición. Por ejemplo, si fue pedida la URL /posts/view/1, $this->params['controller'] será igual a “posts”.

action

$this->params['action']

Almacena el nombre de la acción actual sirviendo la petición. Por ejemplo, si fue pedida la URL /posts/view/1, entonces $this->params['action'] será igual a “view”.

pass

$this->params['pass']

Almacena la cadena de consulta GET enviada con la petición actual. Por ejemplo, si fue pedida la URL /posts/view/?var1=3&var2=4, entonces $this->params['pass'] será igual a ”?var1=3&var2=4”.

url

$this->params['url']

Almacena la URL actual pedida, junto con los pares clave-valor de variables get. Por ejemplo, si se llamó a la URL /posts/view/?var1=3&var2=4, entonces $this->params['url'] debería contener:

[url] => Array
(
    [url] => posts/view
    [var1] => 3
    [var2] => 4
)

data

$this->data

Usado para manejar datos POST enviados desde los formularios de FormHelper al controlador.

// El helper FormHelper es usado para crear un elemento de formulario:
$form->text('User.first_name');

El cual al ser renderizado, se ve parecido a:

<input name="data[User][first_name]" value="" type="text" />

Cuando el formulario es enviado al controlador mediante POST, los datos aparecen en this->data

// El valor first_name enviado se puede encontrar aquí:
$this->data['User']['first_name'];

prefix

$this->params['prefix']

Establecido al prefijo de enrutado. Por ejemplo, este atributo contendría la cadena “admin” durante una petición a /admin/posts/someaction.

named

$this->params['named']

Almacena cualquier parámetro con nombre /clave:valor/ de la cadena de petición de la URL. Por ejemplo, si se pidió la URL /posts/view/var1:3/var2:4, entonces $this->params['named'] debería contener el array:

[named] => Array
(
    [var1] => 3
    [var2] => 4
)

 

Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos