KEMBAR78
Cake PHPCookbook | PDF | Apache Http Server | Web Server
0% found this document useful (0 votes)
128 views136 pages

Cake PHPCookbook

Framework de desarrollo para PHP
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
128 views136 pages

Cake PHPCookbook

Framework de desarrollo para PHP
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 136

CakePHP Cookbook Documentation

Publicacin 3.x

Cake Software Foundation

27 de August de 2015

ndice general

1. CakePHP at a Glance
Additional Reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1
1

2. Quick Start Guide


Bookmarker Tutorial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bookmarker Tutorial Part 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3
3
3

3. 3.0 Migration Guide

4. Tutoriales y Ejemplos
Bookmarker Tutorial . . . . . . . . . . . . . . . . .
Bookmarker Tutorial Part 2 . . . . . . . . . . . . . .
Tutorial de desarrollo del Blog . . . . . . . . . . . .
Tutorial de desarrollo del Blog - Aadiendo una capa
Blog Tutorial - Part 3 . . . . . . . . . . . . . . . . .
Simple Authentication and Authorization Application
5. Contributing
Documentation . . . . . . . . .
Tickets . . . . . . . . . . . . . .
Code . . . . . . . . . . . . . . .
Coding Standards . . . . . . . .
Backwards Compatibility Guide
6. Instalacin
Requisitos . . . . . .
Licencia . . . . . . .
Instalando CakePHP
Permisos . . . . . . .
Configuracin . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.
.

7
. 7
. 7
. 8
. 12
. 23
. 23

.
.
.
.
.

.
.
.
.
.

25
25
25
26
26
26

.
.
.
.
.

27
27
28
28
29
29

.
.
.
.
.

Desarrollo . . .
Produccin . .
URL Rewriting
A rodar! . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

7. Configuration

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

29
30
31
31
33

8. Routing
35
Dispatcher Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
9. Request & Response Objects

37

10. Controllers
39
More on Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
11. Views
43
More About Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
12. Models
49
More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
13. Authentication

55

14. Bake Console


57
Code Generation with Bake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Extending Bake . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
15. Caching

59

16. Console & Shells


61
More Topics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
17. Debugging

65

18. ES - Deployment

67

19. Email

69

20. Error & Exception Handling

71

21. Events System

73

22. Internationalization & Localization

75

23. Logging

77

24. Modelless Forms

79

25. Pagination

81

26. Plugins

83

II

27. REST

85

28. Security
87
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Cross Site Request Forgery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
29. Sessions

89

30. Testing

91

31. Validation

93

32. App Class

95

33. Collections

97

34. Folder & File

99

35. Hash

101

36. Http Client

103

37. Inflector

105

38. Number

107

39. Registry Objects

109

40. Text

111

41. Time

113

42. Xml

115

43. Constants & Functions

117

44. Debug Kit

119

45. Migrations

121

46. Appendices
3.0 Migration Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Migration Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

123
123
124
124

47. Indices and Tables

125

PHP Namespace Index

127

ndice

129

III

IV

CAPTULO 1

CakePHP at a Glance

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Additional Reading
Where to Get Help
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github2 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

CakePHP Conventions
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github3 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
1

https://github.com/cakephp/docs
https://github.com/cakephp/docs
3
https://github.com/cakephp/docs
2

CakePHP Cookbook Documentation, Publicacin 3.x

Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

CakePHP Folder Structure


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github4 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

Captulo 1. CakePHP at a Glance

CAPTULO 2

Quick Start Guide

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Bookmarker Tutorial
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github2 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Bookmarker Tutorial Part 2


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github3 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
1

https://github.com/cakephp/docs
https://github.com/cakephp/docs
3
https://github.com/cakephp/docs
2

CakePHP Cookbook Documentation, Publicacin 3.x

Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Captulo 2. Quick Start Guide

CAPTULO 3

3.0 Migration Guide

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

CakePHP Cookbook Documentation, Publicacin 3.x

Captulo 3. 3.0 Migration Guide

CAPTULO 4

Tutoriales y Ejemplos

En esta seccin puedes encontrar varias aplicaciones completas construidas en CakePHP que te ayudarn a
comprender el framework y ver cmo se relacionan todas las piezas.
Tambin puedes ver otros ejemplos en: CakePackages1 y en Bakery2 encontrars tambin componentes
listos para usar.

Bookmarker Tutorial
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github3 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Bookmarker Tutorial Part 2


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github4 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.
1

http://plugins.cakephp.org/
http://bakery.cakephp.org/
3
https://github.com/cakephp/docs
4
https://github.com/cakephp/docs
2

CakePHP Cookbook Documentation, Publicacin 3.x

Tutorial de desarrollo del Blog


Bienvenido a CakePHP. Probablemente ests consultando este tutorial porque quieres aprender ms sobre
cmo funciona CakePHP. Nuestro objetivo es potenciar tu productividad y hacer ms divertido el desarrollo
de aplicaciones. Esperamos que puedas comprobarlo a medida que vas profundizando en el cdigo.
Este tutorial te guiar en la creacin de una aplicacin sencilla de blog. Obtendremos e instalaremos
CakePHP, crearemos y configuraremos la base de datos y aadiremos suficiente lgica como para listar,
aadir, editar y eliminar artculos del blog.
Esto es lo que necesitars:
1. Servidor web funcionando. Asumiremos que ests usando Apache, aunque las instrucciones para otros
servidores son similares. Igual tendremos que ajustar un poco la configuracin inicial, pero la mayora
pueden poner en marcha CakePHP sin configuracin alguna. Asegrate de tener PHP 5.4.16 o superior
as como tener las extensiones mbstring, intl y mcrypt activadas en PHP.
2. Servidor de base de datos. Usaremos MySQL en este tutorial. Necesitars saber cmo crear una base
de datos nueva. CakePHP se encargar del resto. Dado que utilizamos MySQL, asegrate tambin de
tener pdo_mysql habilitado en PHP.
3. Conocimientos bsicos de PHP.
Vamos all!

Obtener CakePHP
La manera ms sencilla de ponerse en marcha es utilizando Composer. Composer te permite instalar fcilmente CakePHP desde tu terminal o consola. Primero, debes descargar e instalar Composer si todava no lo
has hecho. Si tienes cURL instalado, es tan fcil como ejecutar lo siguiente:
curl -s https://getcomposer.org/installer | php
O puedes descargar composer.phar desde la pgina web de Composer5 .
Instalando Composer de manera global evitars tener que repetir este paso para cada proyecto.
Luego, simplemente escribe la siguiente lnea en tu terminal desde tu directorio de instalacin para instalar
el esqueleto de la aplicacin de CakePHP en el directorio [nombre_app].
php composer.phar create-project --prefer-dist cakephp/app [nombre_app]

O si tienes Composer instalado globalmente:


composer create-project --prefer-dist cakephp/app [nombre_app]

La ventaja de utilizar Composer es que automticamente completar algunas tareas de inicializacin, como
aplicar permisos a ficheros y crear tu fichero config/app.php por ti.
Existen otros modos de instalar CakePHP si no te sientes cmodo con Composer. Para ms informacin
revisa la seccin Instalacin.
5

https://getcomposer.org/download/

Captulo 4. Tutoriales y Ejemplos

CakePHP Cookbook Documentation, Publicacin 3.x

Dejando de lado cmo has descargado e instalado CakePHP, una vez ha terminado la configuracin, tu
directorio de instalacin debera tener la siguiente estructura:
/directorio_raiz
/config
/logs
/src
/plugins
/tests
/tmp
/vendor
/webroot
.gitignore
.htaccess
.travis.yml
README.md
composer.json
phpunit.xml.dist

Quizs sea buen momento para aprender algo sobre cmo funciona esta estructura de directorios: echa un
vistazo a la seccin CakePHP Folder Structure.

Permisos de directorio en tmp


Tambin necesitars aplicar los permisos adecuados en el directorio /tmp para que el servidor web pueda escribir en l. El mejor modo de hacer esto es encontrar con qu usuario corre tu servidor web (<?=
whoami; ?>) y cambiar la propiedad del directorio tmp hacia dicho usuario. El comando final que
ejecutars (en *nix) se parecer al siguiente:
$ chown -R www-data tmp

Si por alguna razn CakePHP no puede escribir en ese directorio, sers informado mediante una alerta
mientras no ests en modo produccin.
A pesar de que no se recomienda, si no eres capaz de aplicar la propiedad del directorio al mismo usuario
que el servidor web, puedes simplemente aplicar permisos de escritura al directorio ejecutando un comando
tipo:
$ chmod 777 -R tmp

Creando la base de datos del Blog


Vamos a crear una nueva base de datos para el blog. Puedes crear una base de datos en blanco con el nombre
que quieras. De momento vamos a definir slo una tabla para nuestros artculos (posts). Adems crearemos
algunos artculos de test para usarlos luego. Una vez creada la tabla, ejecuta el siguiente cdigo SQL en ella:
/* Primero, creamos la tabla artculos: */
CREATE TABLE articles (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50),

Tutorial de desarrollo del Blog

CakePHP Cookbook Documentation, Publicacin 3.x

body TEXT,
created DATETIME DEFAULT NULL,
modified DATETIME DEFAULT NULL
);

/* Luego insertamos algunos artculos para probar */


INSERT INTO articles (title,body,created)
VALUES ('El ttulo', 'Esto es el cuerpo del artculo.', NOW());
INSERT INTO articles (title,body,created)
VALUES ('Un ttulo de nuevo', 'Y el cuerpo sigue.', NOW());
INSERT INTO articles (title,body,created)
VALUES ('El ttulo ataca de nuevo', 'Esto es realmente emocionante! No.', NOW());

La eleccin de los nombres para el nombre de la tabla y de algunas columnas no se ha hecho al azar. Si
sigues las convenciones para nombres en la Base de Datos, y las dems convenciones en tus clases (ver
ms sobre convenciones aqu: CakePHP Conventions), aprovechars la potencia del framework y ahorrars
mucho trabajo de configuracin. CakePHP es suficientemente flexible como para acomodarse hasta en el
peor esquema de base de datos, pero utilizando las convenciones ahorrars tiempo.
Echa un vistazo a las convencionnes para ms informacin, pero basta decir que nombrando nuestra tabla
articles automticamente lo vincula a nuestro modelo Articles y que campos llamados modified y created
sern gestionados automticamente por CakePHP.
Al llamar articles a nuestra tabla de artculos, estamos diciendo a CakePHP que vincule esta tabla por
defecto al Modelo Articles, e incluiya los campos modified y created con ese nombre, los cules sern
automticamente administrados por CakePHP.

Configurando la Base de Datos


Rpido y sencillo, vamos a decirle a CakePHP dnde est la Base de Datos y cmo conectarnos a ella.
Seguramente esta sea la primera y ltima vez que configuras nada.
Una copia del fichero de configuracin de CakePHP puede ser hallado en config/app.default.php.
Copia este fichero en su mismo directorio, pero nmbralo app.php.
El fichero de configuracin debera de ser bastante sencillo: simplemente reemplaza los valores en la matriz
Datasources.default con los que encajen con tu configuracin. Una configuracin completa de ejemplo
podra parecerse a esto:
return [
// Ms configuracin arriba
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => 'localhost',
'username' => 'cake_blog',
'password' => 'AngelF00dC4k3~',
'database' => 'cake_blog',
'encoding' => 'utf8',

10

Captulo 4. Tutoriales y Ejemplos

CakePHP Cookbook Documentation, Publicacin 3.x

'timezone' => 'UTC'


],
],
// Ms configuracin abajo
];

En cuanto guardes tu nuevo fichero app.php deberas de ser capaz de acceder mediante tu navegador web
y ver la pgina de bienvenida de CakePHP. Tambin debera decirte que se ha encontrado el fichero de
configuracin as como que ha podido conectarse a la base de datos.
Nota: Recuerda que debes tener PDO y pdo_mysql habilitados en tu php.ini.

Configuracin Opcional
An hay unas pocas cosas que puedes configurar. La mayora de desarrolladores acaban estos tems de la
lista de la compra, pero no se necesitan para este tutorial. Uno de ellos es definir un string de seguridad
(security salt) para realizar los hash de seguridad.
El string de seguridad se utiliza para generar hashes. Cambia el valor por defecto editando el fichero
/config/app.php. No importa mucho el valor que contenga, cuanto ms largo ms difcil de averiguar:
'Security' => [
'salt' => 'Algo largo y conteniendo un montn de distintos valores.',
],

Sobre mod_rewrite
Si eres nuevo usuario de apache, puedes encontrar alguna dificultad con mod_rewrite, as que lo trataremos
aqu.
Si al cargar la pgina de bienvenida de CakePHP ves cosas raras (no se cargan las imgenes ni los estilos
y se ve todo en blanco y negro), esto significa que probablemente mod_rewrite no est funcionando en tu
sistema. Por favor, consulta la seccin para tu servidor entre las siguientes acerca de re-escritura de URLs
para poder poner en marcha la aplicacin:
1. Comprueba que existen los ficheros .htaccess en el directorio en el que est instalada tu aplicacin
web. A veces al descomprimir el archivo o al copiarlo desde otra ubicacin, estos ficheros no se copian
correctamente. Si no estn ah, obtn otra copia de CakePHP desde el servidor oficial de descargas.
2. Asegrate de tener activado el mdulo mod_rewrite en la configuracin de apache. Deberas tener
algo as:
LoadModule rewrite_module

libexec/httpd/mod_rewrite.so

(para apache 1.3)::


AddModule

mod_rewrite.c

en tu fichero httpd.conf

Tutorial de desarrollo del Blog

11

CakePHP Cookbook Documentation, Publicacin 3.x

Si no puedes (o no quieres) configurar mod_rewrite o algn otro mdulo compatible, necesitars activar las
url amigables en CakePHP. En el fichero /config/app.php, quita el comentario a la lnea:
'App' => [
// ...
// 'baseUrl' => env('SCRIPT_NAME'),
]

Borra tambin los ficheros .htaccess que ya no sern necesarios:


/.htaccess
/webroot/.htaccess

Esto har que tus url sean as: www.example.com/index.php/nombredelcontrolador/nombredelaaccion/parametro


en vez de www.example.com/nombredelcontrolador/nombredelaaccion/parametro.
Si ests instalando CakePHP en otro servidor diferente a Apache, encontrars instrucciones para que funcione la reescritura de URLs en la seccin url-rewriting
Ahora contina hacia Tutorial de desarrollo del Blog - Aadiendo una capa para empezar a construir tu
primera aplicacin en CakePHP.

Tutorial de desarrollo del Blog - Aadiendo una capa


Nota: The documentation is currently partially supported in es language for this page.
Por favor, sintase libre de enviarnos un pull request en Github6 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Crear un modelo Artculo (Article)


Los modelos son una parte fundamental en CakePHP. Cuando creamos un modelo, podemos interactuar con
la base de datos para crear, editar, ver y borrar con facilidad cada tem de ese modelo.
Los modelos estn separados entre los objetos Tabla (Table) y Entidad (Entity).
Los objetos Tabla proporcionan acceso a la colecin de entidades almacenada en una
tabla especfica y va en /src/Model/Table. El fichero que crearemos se guardar en
/src/Model/Table/ArticlesTable.php. El fichero completo debera tener este aspecto:
namespace App\Model\Table;
use Cake\ORM\Table;
class ArticlesTable extends Table
{
6

12

https://github.com/cakephp/docs

Captulo 4. Tutoriales y Ejemplos

CakePHP Cookbook Documentation, Publicacin 3.x

public function initialize(array $config)


{
$this->addBehavior('Timestamp');
}
}

Los convenios usados para los nombres son importantes. Llamando a nuestro objeto Tabla
ArticlesTable, CakePHP deducir automticamente que esta Tabla ser utilizada en el controlador
ArticlesController, y que se vincular a una tabla en nuestra base de datos llamada articles.
Nota: CakePHP crear dinmicamente un objeto para el modelo si no encuentra el fichero correspondiente en /src/Model/Table. Esto significa que si te equivocas al nombrar el fichero (por ejemplo lo llamas
articlestable.php en minscula o ArticleTable.php en singular) CakePHP no va a reconocer la configuracin que escribas en ese fichero y utilizar valores por defecto.
Para ms informacin sobre modelos, como callbacks y validaciones echa un vistazo al captulo del Manual
Models.

Crear el Controlador de Artculos (Articles Controller)


Vamos a crear ahora un controlador para nuestros artculos. En el controlador es donde escribiremos el cdigo para interactuar con nuestros artculos. Es donde se utilizan los modelos para llevar a
cabo el trabajo que queramos hacer con nuestros artculos. Vamos a crear un nuevo fichero llamado
ArticlesController.php dentro del directorio /src/Controller. A continuacin puedes ver
el aspecto bsico que debera tener este controlador:
namespace App\Controller;
class ArticlesController extends AppController
{
}

Vamos a aadir una accin a nuestro nuevo controlador. Las acciones representan una funcin
concreta o interfaz en nuestra aplicacin. Por ejemplo, cuando los usuarios recuperan la url
www.example.com/articles/index (que es lo mismo que www.example.com/articles/) esperan ver un listado
de artculos. El cdigo para tal accin sera este:
namespace App\Controller;
class ArticlesController extends AppController
{
public function index()
{
$articles = $this->Articles->find('all');
$this->set(compact('articles'));
}
}

Por el hecho de haber definido el mtodo index() en nuestro ArticlesController, los usuarios ahora pueden
Tutorial de desarrollo del Blog - Aadiendo una capa

13

CakePHP Cookbook Documentation, Publicacin 3.x

acceder a su lgica solicitando www.example.com/articles/index. Del mismo modo, si definimos un mtodo


llamado foobar() los usuarios tendrn acceso a l desde www.example.com/articles/foobar.
Advertencia: Puede que tengas la tentacin de llamar tus controladores y acciones de cierto modo para
obtener una URL en concreto. Resiste la tentacin. Sigue las convenciones de CakePHP (maysculas,
nombre en plural, etc.) y crea acciones comprensibles, que se dejen leer. Luego podrs asignar URLs a
tu cdigo utilizando rutas, que veremos ms adelante.
La nica instruccin en la accin utiliza set() para pasar datos desde el controlador hacia la vista (que
crearemos a continuacin). La lnea en cuestin asigna una variable en la vista llamada articles igual al
valor retornado por el mtodo find(all) del objeto de tabla Artculos (ArticlesTable).
Para aprender ms sobre los controladores, puedes visitar el captulo Controllers.

Crear Vistas de Artculos (Article Views)


Ahora que tenemos nuestros datos fluyendo por el modelo, y que la lgica de nuestra aplicacin est definida
en nuestro controlador, vamos a crear una vista para la accin ndex creada en el paso anterior.
Las vistas en CakePHP nicamente son fragmentos de presentacin que encajan dentro de la plantilla
(layout) de nuestra aplicacin. Para la mayora de aplicaciones son HTML mezclados con PHP, pero
bien podran acabar siendo XML, CSV o incluso datos binarios.
Una plantilla es una presentacin de cdigo que envuelve una vista. Se pueden definir mltiples plantillas y
puedes cambiar entre ellas pero, por ahora, utilizaremos la plantilla por defecto (default).
Recuerdas cmo en la seccin anterior hemos asignado la variable articles a la vista utilizando el mtodo set()? Esto asignara el objeto de consulta (query object) a la vista para ser invocado por una
iteracin foreach.
Las vistas en CakePHP se almacenan en la ruta /src/Template y en un directorio con el mismo nombre
que el controlador al que pertenecen (tendremos que crear una carpeta llamada Articles en este caso). Para
dar formato a los datos de este artculo en una bonita tabla, el cdigo de nuestra vista debera ser algo as:
<!-- File: /src/Template/Articles/index.ctp -->
<h1>Artculos</h1>
<table>
<tr>
<th>Id</th>
<th>Title</th>
<th>Created</th>
</tr>

<!-- Aqu es donde iteramos nuestro objeto de consulta $articles, mostrando en pantalla
<?php foreach ($articles as $article): ?>
<tr>
<td><?= $article->id ?></td>
<td>
<?= $this->Html->link($article->title,
['controller' => 'Articles', 'action' => 'view', $article->id]) ?>

14

Captulo 4. Tutoriales y Ejemplos

CakePHP Cookbook Documentation, Publicacin 3.x

</td>
<td><?= $article->created->format(DATE_RFC850) ?></td>
</tr>
<?php endforeach; ?>
</table>

Esto debera ser sencillo de comprender.


Como habrs notado, hay una llamada a un objeto $this->Html. Este objeto es una instancia de la clase
Cake\View\Helper\HtmlHelper de CakePHP. CakePHP proporciona un conjunto de ayudantes de
vistas (helpers) para ayudarte a completar acciones habituales, como por ejemplo crear un enlace o un
formulario. Puedes aprender ms sobre esto en Helpers, pero lo que es importante destacar aqu es que el
mtodo link() generar un enlace HTML con el ttulo como primer parmetro y la URL como segundo
parmetro.
Cuando crees URLs en CakePHP te recomendamos emplear el formato de array. Se explica con detenimiento
en la seccin de Rutas (Routes). Si utilizas las rutas en formato array podrs aprovecharte de las potentes
funcionalidades de generacin de rutas inversa de CakePHP en el futuro. Adems puedes especificar rutas
relativas a la base de tu aplicacin de la forma /controlador/accion/param1/param2 o incluso
utilizar named-routes.
Llegados a este punto, deberas ser capaz de acceder con tu navegador a
http://www.example.com/articles/index. Deberas ver tu vista, correctamente formatada con el ttulo
y la tabla listando los artculos.
Si te ha dado por hacer clic en uno de los enlaces que hemos creado en esta vista (que enlazan el ttulo de un
artculo hacia la URL /articles/view/un\_id), seguramente habrs sido informado por CakePHP
de que la accin no ha sido definida todava. Si no has sido infromado, o bien algo ha ido mal o bien ya la
habas definido, en cuyo caso eres muy astuto. En caso contrario, la crearemos ahora en nuestro controlador
de artculos:
namespace App\Controller;
class ArticlesController extends AppController
{
public function index()
{
$this->set('articles', $this->Articles->find('all'));
}
public function view($id = null)
{
$article = $this->Articles->get($id);
$this->set(compact('article'));
}
}

Si observas la funcin view(), ahora el mtodo set() debera serte familiar. Vers que estamos usando get()
en vez de find(all) ya que slo queremos un artculo concreto.
Vers que nuestra funcin view toma un parmetro: el ID del artculo que queremos ver. Este parmetro se
gestiona automticamente al llamar a la URL /articles/view/3, el valor 3 se pasa a la funcin view
Tutorial de desarrollo del Blog - Aadiendo una capa

15

CakePHP Cookbook Documentation, Publicacin 3.x

como primer parmetro $id.


Tambin hacemos un poco de verificacin de errores para asegurarnos de que el usuario realmente accede a dicho registro. Si el usuario solicita /articles/view lanzaremos una excepcin
NotFoundException y dejaremos al ErrorHandler tomar el control. Utilizando el mtodo get() en
la tabla Articles tambin hacemos una verificacin similar para asegurarnos de que el usuario ha accedido a
un registro que existe. En caso de que el artculo solicitado no est presente en la base de datos, el mtodo
get() lanzar una excepcin NotFoundException.
Ahora vamos a definir la vista para
/src/Template/Articles/view.ctp.

esta

nueva

funcin

view

ubicndola

en

<!-- File: /src/Template/Articles/view.ctp -->


<h1><?= h($article->title) ?></h1>
<p><?= h($article->body) ?></p>
<p><small>Created: <?= $article->created->format(DATE_RFC850) ?></small></p>

Verifica que esto funciona probando los enlaces en /articles/index o puedes solicitndolo manualmente accediendo a /articles/view/1.

Aadiendo Artculos
Leer de la base de datos y mostrar nuestros artculos es un gran comienzo, pero permitamos tambin aadir
nuevos artculos.
Lo primero, aadir una nueva accin add() en nuestro controlador ArticlesController:
namespace App\Controller;
class ArticlesController extends AppController
{
public $components = ['Flash'];
public function index()
{
$this->set('articles', $this->Articles->find('all'));
}
public function view($id)
{
$article = $this->Articles->get($id);
$this->set(compact('article'));
}
public function add()
{
$article = $this->Articles->newEntity();
if ($this->request->is('post')) {
$article = $this->Articles->patchEntity($article, $this->request->data);
if ($this->Articles->save($article)) {
$this->Flash->success(__('Your article has been saved.'));
return $this->redirect(['action' => 'index']);
}

16

Captulo 4. Tutoriales y Ejemplos

CakePHP Cookbook Documentation, Publicacin 3.x

$this->Flash->error(__('Unable to add your article.'));


}
$this->set('article', $article);
}
}

Nota: Necesitas incluir el FlashComponent en cualquier controlador donde vayas a usarlo. Si lo ves necesario, inclyelo en tu AppController.
Lo que la funcin add() hace es: si el formulario enviado no est vaco, intenta salvar un nuevo artculo
utilizando el modelo Articles. Si no se guarda bien, muestra la vista correspondiente, as podremos mostrar
los errores de validacin u otras alertas.
Cada peticin de CakePHP incluye un objeto Request que es accesible utilizando $this->request.
El objeto de peticin contiene informacin til acerca de la peticin que se recibe y puede
ser utilizado para controlar el flujo de nuestra aplicacin. En este caso, utilizamos el mtodo
Cake\Network\Request::is() para verificar que la peticin es una peticin HTTP POST.
Cuando un usuario utiliza un formulario y efecta un POST a la aplicacin, esta informacin est disponible
en $this->request->data. Puedes usar la funcin pr() o debug() para mostrar el contenido de
esa variable y ver la pinta que tiene.
Utilizamos el mtodo mgico __call del FlashComponent para guardar un mensaje en una variable de sesin que ser mostrado en la pgina despus de la redireccin. En la plantilla tenemos <?=
$this->Flash->render() ?> que muestra el mensaje y elimina la correspondiente variable de
sesin. El mtodo Cake\Controller\Controller::redirect del controlador redirige hacia otra
URL. El parmetro [action => index] se traduce a la URL /articles (p.e. la accin index del
controlador de artculos). Puedes echar un ojo al mtodo Cake\Routing\Router::url() en la API7
para ver los formatos en que puedes especificar una URL para varias funciones de CakePHP.
Al llamar al mtodo save(), comprobar si hay errores de validacin primero y si encuentra alguno,
no continuar con el proceso de guardado. Veremos a continuacin cmo trabajar con estos errores de
validacin.

Validando los Datos


CakePHP te ayuda a evitar la monotona al construir tus formularios y su validacin. Todos odiamos teclear
largos formularios y gastar ms tiempo en reglas de validacin de cada campo. CakePHP lo hace ms rpido
y sencillo.
Para aprovechar estas funciones es conveniente que utilices el FormHelper en tus vistas. La
clase Cake\View\Helper\FormHelper est disponible en tus vistas por defecto a travs de
$this->Form.
He aqu nuestra vista add:
<!-- File: src/Template/Articles/add.ctp -->
<h1>Aadir Artculo</h1>
7

http://api.cakephp.org

Tutorial de desarrollo del Blog - Aadiendo una capa

17

CakePHP Cookbook Documentation, Publicacin 3.x

<?php
echo
echo
echo
echo
echo
?>

$this->Form->create($article);
$this->Form->input('title');
$this->Form->input('body', ['rows' => '3']);
$this->Form->button(__('Guardar artculo'));
$this->Form->end();

Hemos usado FormHelper para generar la etiqueta form. La ejecucin de $this->Form->create()


genera el siguiente cdigo:
<form method="post" action="/articles/add">

Si create() no tiene parmetros al ser llamado, asume que ests creando un formulario que enva va
POST a la accin add() (o edit() cuando id es incluido en los datos de formulario) del controlador
actual.
El mtodo $this->Form->input() se utiliza para crear elementos de formulario del mismo nombre.
El primer parmetro le indica a CakePHP a qu campo corresponde y el segundo parmetro te permite
especificar un abanico muy mplio de opciones - en este caso, el nmero de filas del textarea que se generar.
Hay un poco de introspeccin y automagia aqu: input() generar distintos elementos de formulario en
funcin del campo del modelo especificado.
La llamada a $this->Form->end() cierra el formulario. Tambin generar campos ocultos si la
CSRF/prevencin de manipulacin de formularios ha sido habilitada.
Volvamos atrs un minuto y actualicemos nuestra vista src/Template/Articles/index.ctp para aadir un
enlace de Aadir Artculo. Justo antes del tag <table> aade la siguiente lnea:
<?= $this->Html->link(
'Aadir artculo',
['controller' => 'Articles', 'action' => 'add']
) ?>

Te estars preguntando: Cmo le digo a CakePHP la forma en la que debe validar estos datos? Muy sencillo,
las reglas de validacin se escriben en el modelo. Volvamos al modelo Articles y hagamos algunos
ajustes:
namespace App\Model\Table;
use Cake\ORM\Table;
use Cake\Validation\Validator;
class ArticlesTable extends Table
{
public function initialize(array $config)
{
$this->addBehavior('Timestamp');
}
public function validationDefault(Validator $validator)
{
$validator

18

Captulo 4. Tutoriales y Ejemplos

CakePHP Cookbook Documentation, Publicacin 3.x

->notEmpty('title')
->notEmpty('body');
return $validator;
}
}

El mtodo validationDefault() le dice a CakePHP cmo validar tus datos cuando se invoca el
mtodo save(). Aqu hemos especificado que ambos campos, el cuerpo y el ttulo, no pueden quedar
vacos. El motor de validaciones de CakePHP es potente y con numerosas reglas ya predefinidas (tarjetas de
crdito, direcciones de e-mail, etc.) as como flexibilidad para aadir tus propias reglas de validacin. Para
ms informacin en tal configuracin, echa un vistazo a la documentacin Validation.
Ahora que ya tienes las reglas de validacin definidas, usa tu aplicacin para crear un nuevo artculo con un ttulo vaco y vers cmo funcionan. Como hemos usado el mtodo
Cake\View\Helper\FormHelper::input(), los mensajes de error se construyen automticamente en la vista sin cdigo adicional.

Editando Artculos
Editando artculos: all vamos. Ya eres un profesional de CakePHP, as que habrs cogido la pauta. Crear una accin, luego la vista. He aqu cmo debera ser la accin edit() del controlador
ArticlesController:
public function edit($id = null)
{
$article = $this->Articles->get($id);
if ($this->request->is(['post', 'put'])) {
$this->Articles->patchEntity($article, $this->request->data);
if ($this->Articles->save($article)) {
$this->Flash->success(__('Tu artculo ha sido actualizado.'));
return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('Tu artculo no se ha podido actualizar.'));
}
$this->set('article', $article);
}

Lo primero que hace este mtodo es asegurarse de que el usuario ha intentado acceder a un registro existente. Si no han pasado el parmetro $id o el artculo no existe lanzaremos una excepcin
NotFoundException para que el ErrorHandler se ocupe de ello.
Luego verifica si la peticin es POST o PUT. Si lo es, entonces utilizamos los datos recibidos para actualizar
nuestra entidad artculo (article) utilizando el mtodo patchEntity. Finalmente utilizamos el objeto
tabla para guardar la entidad de nuevo o mostrar errores de validacin al usuario en caso de haberlos.
La vista sera algo as:
<!-- File: src/Template/Articles/edit.ctp -->
<h1>Edit Article</h1>

Tutorial de desarrollo del Blog - Aadiendo una capa

19

CakePHP Cookbook Documentation, Publicacin 3.x

<?php
echo
echo
echo
echo
echo
?>

$this->Form->create($article);
$this->Form->input('title');
$this->Form->input('body', ['rows' => '3']);
$this->Form->button(__('Guardar artculo'));
$this->Form->end();

Mostramos el formulario de edicin (con los valores actuales de ese artculo), junto a los errores de validacin que hubiese.
CakePHP utilizar el resultado de $article->isNew() para determinar si un save() debera insertar
un nuevo registro o actualizar uno existente.
Puedes actualizar tu vista ndice (index) con enlaces para editar artculos especficos:
<!-- File: src/Template/Articles/index.ctp

(edit links added) -->

<h1>Artculos</h1>
<p><?= $this->Html->link("Aadir artculo", ['action' => 'add']) ?></p>
<table>
<tr>
<th>Id</th>
<th>Title</th>
<th>Created</th>
<th>Action</th>
</tr>
<!-- Aqu es donde iteramos nuestro objeto de consulta $articles, mostrando en pantalla la
<?php foreach ($articles as $article): ?>
<tr>
<td><?= $article->id ?></td>
<td>
<?= $this->Html->link($article->title, ['action' => 'view', $article->id]) ?>
</td>
<td>
<?= $article->created->format(DATE_RFC850) ?>
</td>
<td>
<?= $this->Html->link('Editar', ['action' => 'edit', $article->id]) ?>
</td>
</tr>
<?php endforeach; ?>
</table>

Borrando Artculos
Vamos a permitir a los usuarios que borren artculos. Empieza con una accin delete() en el controlador
ArticlesController:

20

Captulo 4. Tutoriales y Ejemplos

CakePHP Cookbook Documentation, Publicacin 3.x

public function delete($id)


{
$this->request->allowMethod(['post', 'delete']);
$article = $this->Articles->get($id);
if ($this->Articles->delete($article)) {
$this->Flash->success(__('El artculo con id: {0} ha sido eliminado.', h($id)));
return $this->redirect(['action' => 'index']);
}
}

La lgica elimina el artculo especificado por $id y utiliza $this->Flash->success() para mostrar al
usuario un mensaje de confirmacin tras haber sido redirigidos a /articles. Si el usuario intenta eliminar
utilizando una peticin GET, el allowMethod devolvera una Excepcin. Las excepciones que no se traten
sern capturadas por el manejador de excepciones de CakePHP (exception handler) y una bonita
pgina de error es mostrada. Hay muchas Excepciones que pueden ser utilizadas para indicar los varios
errores HTTP que tu aplicacin pueda generar.
Como estamos ejecutando algunos mtodos y luego redirigiendo a otra accin de nuestro controlador, no es
necesaria ninguna vista (nunca se usa). Lo que si querrs es actualizar la vista index.ctp para inclur el ya
habitual enlace:
<!-- File: src/Template/Articles/index.ctp -->
<h1>Artculos</h1>
<p><?= $this->Html->link("Aadir artculo", ['action' => 'add']) ?></p>
<table>
<tr>
<th>Id</th>
<th>Title</th>
<th>Created</th>
<th>Action</th>
</tr>
<!-- Aqu es donde iteramos nuestro objeto de consulta $articles, mostrando en pantalla la
<?php foreach ($articles as $article): ?>
<tr>
<td><?= $article->id ?></td>
<td>
<?= $this->Html->link($article->title, ['action' => 'view', $article->id]) ?>
</td>
<td>
<?= $article->created->format(DATE_RFC850) ?>
</td>
<td>
<?= $this->Form->postLink(
'Eliminar',
['action' => 'delete', $article->id],
['confirm' => 'Ests seguro?'])
?>
<?= $this->Html->link('Editar', ['action' => 'edit', $article->id]) ?>
</td>

Tutorial de desarrollo del Blog - Aadiendo una capa

21

CakePHP Cookbook Documentation, Publicacin 3.x

</tr>
<?php endforeach; ?>
</table>

Utilizando View\Helper\FormHelper::postLink() crearemos un enlace que utilizar JavaScript


para hacer una peticin POST que eliminar nuestro artculo. Permitiendo que contenido sea eliminado
va peticiones GET es peligroso, ya que araas web (crawlers) podran eliminar accidentalmente tu
contenido.
Nota: Esta vista utiliza el FormHelper para pedir confirmacin va dilogo de confirmacin de JavaScript
al usuario antes de borrar un artculo.

Rutas (Routes)
En muchas ocasiones, las rutas por defecto de CakePHP funcionan bien tal y como estn. Los desarroladores
que quieren rutas diferentes para mejorar la usabilidad apreciarn la forma en la que CakePHP relaciona las
URLs con las acciones de los controladores. Vamos a hacer cambios ligeros para este tutorial.
Para ms informacin sobre las rutas as como tcnicas avanzadas revisa routes-configuration.
Por defecto CakePHP responde a las llamadas a la raz de tu sitio (por ejemplo http://www.example.com)
usando el controlador PagesController, mostrando una vista llamada home. En lugar de eso, lo reemplazaremos con nuestro controlador ArticlesController creando una nueva ruta.
Las reglas de enrutamiento estn en /config/routes.php. Querrs eliminar o comentar la lnea que
define la raz por defecto. Dicha ruta se parece a esto:
Router::connect('/', ['controller' => 'Pages', 'action' => 'display', 'home']);

Esta lnea conecta la url / con la pgina por defecto de inicio de CakePHP. Queremos conectarla a nuestro
propio controlador, as que reemplaza dicha lnea por esta otra:
Router::connect('/', ['controller' => 'Articles', 'action' => 'index']);

Esto debera, cuando un usuario solicita /, devolver la accin index() del controlador ArticlesController.
Nota: CakePHP tambin calcula las rutas a la inversa. Si en tu cdigo pasas el array [controller
=> Articles, action => index] a una funcin que espera una url, el resultado ser /.
Es buena idea usar siempre arrays para configurar las URL, lo que asegura que los links irn siempre al
mismo lugar.

Conclusin
Creando aplicaciones de este modo te traer paz, honor, amor, dinero a carretas e incluso tus fantasas ms
salvajes. Simple, no te parece? Ten en cuenta que este tutorial es muy bsico, CakePHP tiene muchas otras
cosas que ofrecer y es flexible aunque no hemos cubierto aqu estos puntos para que te sea ms simple al
principio. Usa el resto de este manual como una gua para construir mejores aplicaciones.
22

Captulo 4. Tutoriales y Ejemplos

CakePHP Cookbook Documentation, Publicacin 3.x

Ahora que ya has creado una aplicacin CakePHP bsica, ests listo para la vida real. Empieza tu nuevo
proyecto y lee el resto del Cookbook as como la API8 .
Si necesitas ayuda, hay muchos modos de encontrar la ayuda que buscas - por favor, mralo en la pgina
Where to Get Help. Bienvenido a CakePHP!

Lectura sugerida para continuar desde aqu


Hay varias tareas comunes que la gente que est aprendiendo CakePHP quiere aprender despus:
1. view-layouts: Personaliza la plantilla layout de tu aplicacin
2. view-elements Inclur vistas y reutilizar trozos de cdigo
3. Code Generation with Bake: Generacin bsica de CRUDs
4. Simple Authentication and Authorization Application: Tutorial de autenticacin y permisos

Blog Tutorial - Part 3


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github9 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Simple Authentication and Authorization Application


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github10 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

http://api.cakephp.org
https://github.com/cakephp/docs
10
https://github.com/cakephp/docs
9

Blog Tutorial - Part 3

23

CakePHP Cookbook Documentation, Publicacin 3.x

24

Captulo 4. Tutoriales y Ejemplos

CAPTULO 5

Contributing

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Documentation
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github2 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Tickets
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github3 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
1

https://github.com/cakephp/docs
https://github.com/cakephp/docs
3
https://github.com/cakephp/docs
2

25

CakePHP Cookbook Documentation, Publicacin 3.x

Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Code
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github4 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Coding Standards
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github5 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Backwards Compatibility Guide


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github6 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs
https://github.com/cakephp/docs
6
https://github.com/cakephp/docs
5

26

Captulo 5. Contributing

CAPTULO 6

Instalacin

CakePHP se instala rpida y fcilmente. Los requisitos mnimos son un servidor web y una copia de
CakePHP, y ya! Aunque este manual se enfoca principalmente en configurar Apache (ya que es el ms
utilizado), puedes configurar CakePHP para que corra con una variedad de servidores web como nginx,
LightHTHPD o Microsoft IIS.

Requisitos
Servidor HTTP. Por ejemplo: Apache. mod_rewrite es recomendado, pero no requerido.
PHP 5.4.16 o mayor.
extensin mbstring.
extensin intl.
Tcnicamente una base de datos no es necesaria, pero imaginamos que la mayora de aplicaciones utiliza
alguna. CakePHP soporta una gran variedad de sistemas de bases de datos:
MySQL (5.1.10 o mayor).
PostgreSQL.
Microsoft SQL Server (2008 o mayor).
SQLite 3.
Nota: Todos los drivers nativos necesitan PDO. Debes asegurarte de tener las extensiones de PDO correctas.

27

CakePHP Cookbook Documentation, Publicacin 3.x

Licencia
CakePHP est licenciado bajo la Licencia MIT1 . Esto signigica que eres libre para modificar, distribuir y
republicar el cdigo fuente con la condicin de que las notas de copyright queden intactas. Tambin eres
libre para incorporar CakePHP en cualquier aplicacin comercial o de cdigo cerrado.

Instalando CakePHP
CakePHP utiliza Composer2 , una herramienta de manejo de dependicias para PHP 5.3+, como el mtodo de
instalacin oficialmente soportado.
Primero, necesitas descargar e instalar Composer, si no lo has hecho ya. Si tienes instalado cURL, es tan
fcil como correr esto en un terminal:
curl -s https://getcomposer.org/installer | php

O, puedes descargar composer.phar desde el sitio web de Composer3 .


Para sistemas Windows, puedes descargar el Instalador de Composer para Windows aqu4 . Para ms instrucciones acerca de esto, puedes leer el README del instalador de Windows aqu5 .
Ya que has decargado e instalado Composer puedes generar una aplicacin CakePHP ejecutando:
php composer.phar create-project --prefer-dist cakephp/app [app_name]

O si tienes Composer definido globalmente:


composer create-project --prefer-dist cakephp/app [app_name]

Una vez que Composer termine de descargar el esqueleto y la librera core de CakePHP, deberas tener una
aplicacin funcional de CakePHP instalada va Composer. Asegrate de que los ficheros composer.json y
composer.lock se mantengan junto con el resto de tu cdigo fuente.
Ahora puedes visitar el destino donde instalaste la aplicacin y ver los diferentes avisos de setup.

Mantente al da con los ltimos cambios de CakePHP


Si quieres mantenerte al corriente de los ltimos cambios en CakePHP puedes aadir las siguientes lneas al
composer.json de tu aplicacin:
"require": {
"cakephp/cakephp": "dev-master"
}
1

http://www.opensource.org/licenses/mit-license.php
http://getcomposer.org
3
https://getcomposer.org/download/
4
https://github.com/composer/windows-setup/releases/
5
https://github.com/composer/windows-setup
2

28

Captulo 6. Instalacin

CakePHP Cookbook Documentation, Publicacin 3.x

Donde <branch> es el nombre del branch que quieres seguir. Cada vez que ejecutes php
composer.phar update recibirs las ltimas actualizaciones del branch seleccionado.

Permisos
CakePHP utiliza el directorio tmp para varias operaciones. Descripciones de Modelos, el cach de las vistas
y la informacin de la sesin son algunos ejemplos de lo anterior. El directorio logs es utilizado para para
escribir ficheros de log por el motor de FileLog por defecto.
Asegrate de que los directorios logs, tmp y todos sus subdirectorios tengan permisos de escritura por
el usuario del Servidor Web. La instalacin de CakePHP a travs de Composer se encarga de este proceso
haciendo que dichos directorios tengan los permisos abiertos globalmente con el fin de que puedas tener
el setup de manera ms rpida. Obviamente es recomendable que revises, y modifiques si es necesario, los
permisos tras la instalacin va Composer para mayor seguridad.
Un problema comn es que logs, tmp y sus subdirectorios deben poder ser modificados tanto por el
usuario del Servidor Web como por el usuario de la lnea de comandos. En un sistema UNIX, si los usuarios
mencionados difieren, puedes ejecutar los siguientes comandos desde el directorio de tu aplicacin para
asegurarte de que todo est configurado correctamente:
HTTPDUSER=`ps
setfacl -R -m
setfacl -R -d
setfacl -R -m
setfacl -R -d

aux | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | h


u:${HTTPDUSER}:rwx tmp
-m u:${HTTPDUSER}:rwx tmp
u:${HTTPDUSER}:rwx logs
-m u:${HTTPDUSER}:rwx logs

Configuracin
Configurar una aplicacin de CakePHP puede ser tan simple como colocarla en el directorio raz de tu
Servidor Web, o tan complejo y flexible como lo desees. Esta seccin cubrir los dos tipos principales de
instalacin de CakePHP: Desarrollo y Produccin.
Desarrollo: fcil de arrancar, las URLs de la aplicacin incluyen el nombre del directorio de la aplicacin de CakePHP y es menos segura.
Produccin: Requiere tener la habilidad de configurar el directorio raz del Servidor Web, cuenta con
URLs limpias y es bastante segura.

Desarrollo
Este es el mtodo ms rpido para configurar CakePHP. En este ejemplo utilizaremos la consola de
CakePHP para ejecutar el servidor web nativo de PHP para hacer que tu aplicacin est disponible en
http://host:port. Para ello ejecuta desde el directorio src:
bin/cake server

Permisos

29

CakePHP Cookbook Documentation, Publicacin 3.x

Por defecto, sin ningn argumento, esto colocar tu aplicacin en http://localhost:8765/.


Si tienes algn conflicto con localhost o port 8765, puedes indicarle a la consola de CakePHP que
corra el servidor de manera ms especfica utilizando los siguientes argumentos:
bin/cake server -H 192.168.13.37 -p 5673

Esto colocar tu aplicacin en http://192.168.13.37:5673/.


Eso es todo! Tu aplicacin de CakePHP est corriendo perfectamente sin tener que haber configurado el
servidor web manualmente.
Advertencia: El servidor de desarrollo nunca debe ser utilizado en un ambiente de produccin. Se
supone que esto es un servidor bsico de desarrollo y nada ms.

Produccin
Una instalacin de produccin es una manera ms flexible de montar una aplicacin de CakePHP. Utilizando este mtodo, podrs tener un dominio entero actuando como una sola aplicacin de CakePHP. Este
ejemplo te ayudar a instalar CakePHP donde quieras en tu sistema de ficheros y tenerlo disponible en
http://www.example.com. Toma en cuenta que esta instalacin requiere que tengas los derechos de
cambiar el directorio raz (DocumentRoot) del servidor web Apache.
Despus de instalar tu aplicacin utilizando cualquiera de los mtodos mencionados en el directorio elegido
- asumiremos que has escogido /cake_install - tu estructura de ficheros debe ser la siguiente:
/cake_install/
bin/
config/
logs/
plugins/
src/
tests/
tmp/
vendor/
webroot/ (this directory is set as DocumentRoot)
.gitignore
.htaccess
.travis.yml
composer.json
index.php
phpunit.xml.dist
README.md

Si utilizas Apache debes configurar la directiva DocumentRoot del dominio a:


DocumentRoot /cake_install/webroot

Si tu configuracin del Servidor Web es correcta debes tener tu aplicacin disponible aora en
http://www.example.com.

30

Captulo 6. Instalacin

CakePHP Cookbook Documentation, Publicacin 3.x

URL Rewriting
Si quieres utilizar URL rewriting, entra en la seccin dedicada a ello:

A rodar!
Muy bien, ahora veamos a CakePHP en accin. Dependiendo del setup que hayas utilizado, deberas dirigirte
en tu navegador a http://example.com/ o http://localhost:8765/. En este punto, encontrs el home principal
de CakePHP y un mensaje que te dice el status actual de tu conexin a la base de datos.
Felicidades! Ests listo para Crear tu primera aplicacin de CakePHP.

URL Rewriting

31

CakePHP Cookbook Documentation, Publicacin 3.x

32

Captulo 6. Instalacin

CAPTULO 7

Configuration

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

33

CakePHP Cookbook Documentation, Publicacin 3.x

34

Captulo 7. Configuration

CAPTULO 8

Routing

class Cake\Routing\Router
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Dispatcher Filters
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github2 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

1
2

https://github.com/cakephp/docs
https://github.com/cakephp/docs

35

CakePHP Cookbook Documentation, Publicacin 3.x

36

Captulo 8. Routing

CAPTULO 9

Request & Response Objects

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

37

CakePHP Cookbook Documentation, Publicacin 3.x

38

Captulo 9. Request & Response Objects

CAPTULO 10

Controllers

class Cake\Controller\Controller
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

More on Controllers
The Pages Controller
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github2 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Components
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
1
2

https://github.com/cakephp/docs
https://github.com/cakephp/docs

39

CakePHP Cookbook Documentation, Publicacin 3.x

Por favor, sintase libre de enviarnos un pull request en Github3 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Authentication
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github4 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

CookieComponent
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github5 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Cross Site Request Forgery


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github6 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

FlashComponent
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
3

https://github.com/cakephp/docs
https://github.com/cakephp/docs
5
https://github.com/cakephp/docs
6
https://github.com/cakephp/docs
4

40

Captulo 10. Controllers

CakePHP Cookbook Documentation, Publicacin 3.x

Por favor, sintase libre de enviarnos un pull request en Github7 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Security
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github8 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Pagination
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github9 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Request Handling
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github10 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs
https://github.com/cakephp/docs
9
https://github.com/cakephp/docs
10
https://github.com/cakephp/docs
8

More on Controllers

41

CakePHP Cookbook Documentation, Publicacin 3.x

42

Captulo 10. Controllers

CAPTULO 11

Views

class Cake\View\View
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

More About Views


View Cells
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github2 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Themes
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
1
2

https://github.com/cakephp/docs
https://github.com/cakephp/docs

43

CakePHP Cookbook Documentation, Publicacin 3.x

Por favor, sintase libre de enviarnos un pull request en Github3 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

JSON and XML views


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github4 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Helpers
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github5 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

FlashHelper
class Cake\View\Helper\FlashHelper(View $view, array $config =[])
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github6 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

FormHelper
class Cake\View\Helper\FormHelper(View $view, array $config =[])
3

https://github.com/cakephp/docs
https://github.com/cakephp/docs
5
https://github.com/cakephp/docs
6
https://github.com/cakephp/docs
4

44

Captulo 11. Views

CakePHP Cookbook Documentation, Publicacin 3.x

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github7 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

HtmlHelper
class Cake\View\Helper\HtmlHelper(View $view, array $config =[])
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github8 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

NumberHelper
class Cake\View\Helper\NumberHelper(View $view, array $config =[])
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github9 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

PaginatorHelper
class Cake\View\Helper\PaginatorHelper(View $view, array $config =[])
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github10 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.
7

https://github.com/cakephp/docs
https://github.com/cakephp/docs
9
https://github.com/cakephp/docs
10
https://github.com/cakephp/docs
8

More About Views

45

CakePHP Cookbook Documentation, Publicacin 3.x

RSS
class Cake\View\Helper\RssHelper(View $view, array $config =[])
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github11 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

SessionHelper
class Cake\View\Helper\SessionHelper(View $view, array $config =[])
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github12 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

TextHelper
class Cake\View\Helper\TextHelper(View $view, array $config =[])
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github13 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

TimeHelper
class Cake\View\Helper\TimeHelper(View $view, array $config =[])
11

https://github.com/cakephp/docs
https://github.com/cakephp/docs
13
https://github.com/cakephp/docs
12

46

Captulo 11. Views

CakePHP Cookbook Documentation, Publicacin 3.x

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github14 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

UrlHelper
class Cake\View\UrlHelper\UrlHelper(View $view, array $config =[])
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github15 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

14
15

https://github.com/cakephp/docs
https://github.com/cakephp/docs

More About Views

47

CakePHP Cookbook Documentation, Publicacin 3.x

48

Captulo 11. Views

CAPTULO 12

Models

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

More Information
Database Basics
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github2 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Query Builder
class Cake\ORM\Query
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
1
2

https://github.com/cakephp/docs
https://github.com/cakephp/docs

49

CakePHP Cookbook Documentation, Publicacin 3.x

Por favor, sintase libre de enviarnos un pull request en Github3 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Table Objects
class Cake\ORM\Table
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github4 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Entities
class Cake\ORM\Entity
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github5 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Retrieving Data & Results Sets


class Cake\ORM\Table
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github6 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.
3

https://github.com/cakephp/docs
https://github.com/cakephp/docs
5
https://github.com/cakephp/docs
6
https://github.com/cakephp/docs
4

50

Captulo 12. Models

CakePHP Cookbook Documentation, Publicacin 3.x

Validating Data
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github7 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Saving Data
class Cake\ORM\Table
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github8 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Deleting Data
class Cake\ORM\Table
Cake\ORM\Table::delete(Entity $entity, $options =[])
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github9 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Associations - Linking Tables Together


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github10 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
7

https://github.com/cakephp/docs
https://github.com/cakephp/docs
9
https://github.com/cakephp/docs
10
https://github.com/cakephp/docs
8

More Information

51

CakePHP Cookbook Documentation, Publicacin 3.x

Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Behaviors
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github11 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Core Behaviors
CounterCache Behavior

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github12 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Timestamp Behavior

class Cake\Model\Behavior\TimestampBehavior
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github13 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Translate

class Cake\Model\Behavior\TranslateBehavior
11

https://github.com/cakephp/docs
https://github.com/cakephp/docs
13
https://github.com/cakephp/docs
12

52

Captulo 12. Models

CakePHP Cookbook Documentation, Publicacin 3.x

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github14 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

TreeBehavior

class Cake\Model\Behavior\TreeBehavior
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github15 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Schema System
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github16 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

ORM Cache Shell


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github17 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

14

https://github.com/cakephp/docs
https://github.com/cakephp/docs
16
https://github.com/cakephp/docs
17
https://github.com/cakephp/docs
15

More Information

53

CakePHP Cookbook Documentation, Publicacin 3.x

54

Captulo 12. Models

CAPTULO 13

Authentication

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

55

CakePHP Cookbook Documentation, Publicacin 3.x

56

Captulo 13. Authentication

CAPTULO 14

Bake Console

Code Generation with Bake


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Extending Bake
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github2 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github3 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.
1

https://github.com/cakephp/docs
https://github.com/cakephp/docs
3
https://github.com/cakephp/docs
2

57

CakePHP Cookbook Documentation, Publicacin 3.x

58

Captulo 14. Bake Console

CAPTULO 15

Caching

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

59

CakePHP Cookbook Documentation, Publicacin 3.x

60

Captulo 15. Caching

CAPTULO 16

Console & Shells

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

More Topics
Shell Helpers
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github2 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Interactive Console (REPL)


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github3 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
1

https://github.com/cakephp/docs
https://github.com/cakephp/docs
3
https://github.com/cakephp/docs
2

61

CakePHP Cookbook Documentation, Publicacin 3.x

Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Running Shells as Cron Jobs


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github4 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

I18N Shell
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github5 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Completion Shell
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github6 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Plugin Shell
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github7 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
4

https://github.com/cakephp/docs
https://github.com/cakephp/docs
6
https://github.com/cakephp/docs
7
https://github.com/cakephp/docs
5

62

Captulo 16. Console & Shells

CakePHP Cookbook Documentation, Publicacin 3.x

Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Routes Shell
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github8 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Upgrade Shell
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github9 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

8
9

https://github.com/cakephp/docs
https://github.com/cakephp/docs

More Topics

63

CakePHP Cookbook Documentation, Publicacin 3.x

64

Captulo 16. Console & Shells

CAPTULO 17

Debugging

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

65

CakePHP Cookbook Documentation, Publicacin 3.x

66

Captulo 17. Debugging

CAPTULO 18

ES - Deployment

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

67

CakePHP Cookbook Documentation, Publicacin 3.x

68

Captulo 18. ES - Deployment

CAPTULO 19

Email

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

69

CakePHP Cookbook Documentation, Publicacin 3.x

70

Captulo 19. Email

CAPTULO 20

Error & Exception Handling

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

71

CakePHP Cookbook Documentation, Publicacin 3.x

72

Captulo 20. Error & Exception Handling

CAPTULO 21

Events System

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

73

CakePHP Cookbook Documentation, Publicacin 3.x

74

Captulo 21. Events System

CAPTULO 22

Internationalization & Localization

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

75

CakePHP Cookbook Documentation, Publicacin 3.x

76

Captulo 22. Internationalization & Localization

CAPTULO 23

Logging

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

77

CakePHP Cookbook Documentation, Publicacin 3.x

78

Captulo 23. Logging

CAPTULO 24

Modelless Forms

class Cake\Form\Form
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

79

CakePHP Cookbook Documentation, Publicacin 3.x

80

Captulo 24. Modelless Forms

CAPTULO 25

Pagination

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

81

CakePHP Cookbook Documentation, Publicacin 3.x

82

Captulo 25. Pagination

CAPTULO 26

Plugins

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

83

CakePHP Cookbook Documentation, Publicacin 3.x

84

Captulo 26. Plugins

CAPTULO 27

REST

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

85

CakePHP Cookbook Documentation, Publicacin 3.x

86

Captulo 27. REST

CAPTULO 28

Security

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Security
class Cake\Utility\Security
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github2 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Cross Site Request Forgery


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github3 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
1

https://github.com/cakephp/docs
https://github.com/cakephp/docs
3
https://github.com/cakephp/docs
2

87

CakePHP Cookbook Documentation, Publicacin 3.x

Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Security
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github4 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

88

https://github.com/cakephp/docs

Captulo 28. Security

CAPTULO 29

Sessions

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

89

CakePHP Cookbook Documentation, Publicacin 3.x

90

Captulo 29. Sessions

CAPTULO 30

Testing

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

91

CakePHP Cookbook Documentation, Publicacin 3.x

92

Captulo 30. Testing

CAPTULO 31

Validation

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

93

CakePHP Cookbook Documentation, Publicacin 3.x

94

Captulo 31. Validation

CAPTULO 32

App Class

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

95

CakePHP Cookbook Documentation, Publicacin 3.x

96

Captulo 32. App Class

CAPTULO 33

Collections

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

97

CakePHP Cookbook Documentation, Publicacin 3.x

98

Captulo 33. Collections

CAPTULO 34

Folder & File

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

99

CakePHP Cookbook Documentation, Publicacin 3.x

100

Captulo 34. Folder & File

CAPTULO 35

Hash

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

101

CakePHP Cookbook Documentation, Publicacin 3.x

102

Captulo 35. Hash

CAPTULO 36

Http Client

class Cake\Network\Http\Client(mixed $config =[])


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

103

CakePHP Cookbook Documentation, Publicacin 3.x

104

Captulo 36. Http Client

CAPTULO 37

Inflector

class Cake\Utility\Inflector
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

105

CakePHP Cookbook Documentation, Publicacin 3.x

106

Captulo 37. Inflector

CAPTULO 38

Number

class Cake\I18n\Number
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

107

CakePHP Cookbook Documentation, Publicacin 3.x

108

Captulo 38. Number

CAPTULO 39

Registry Objects

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

109

CakePHP Cookbook Documentation, Publicacin 3.x

110

Captulo 39. Registry Objects

CAPTULO 40

Text

class Cake\Utility\Text
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

111

CakePHP Cookbook Documentation, Publicacin 3.x

112

Captulo 40. Text

CAPTULO 41

Time

class Cake\Utility\Time
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

113

CakePHP Cookbook Documentation, Publicacin 3.x

114

Captulo 41. Time

CAPTULO 42

Xml

class Cake\Utility\Xml
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

115

CakePHP Cookbook Documentation, Publicacin 3.x

116

Captulo 42. Xml

CAPTULO 43

Constants & Functions

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

117

CakePHP Cookbook Documentation, Publicacin 3.x

118

Captulo 43. Constants & Functions

CAPTULO 44

Debug Kit

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

119

CakePHP Cookbook Documentation, Publicacin 3.x

120

Captulo 44. Debug Kit

CAPTULO 45

Migrations

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs

121

CakePHP Cookbook Documentation, Publicacin 3.x

122

Captulo 45. Migrations

CAPTULO 46

Appendices

Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.


Por favor, sintase libre de enviarnos un pull request en Github1 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.
Appendices contain information regarding the new features introduced in each version and the migration
path between versions.

3.0 Migration Guide


3.0 Migration Guide
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github2 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

New ORM Upgrade Guide


Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
1
2

https://github.com/cakephp/docs
https://github.com/cakephp/docs

123

CakePHP Cookbook Documentation, Publicacin 3.x

Por favor, sintase libre de enviarnos un pull request en Github3 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

3.1 Migration Guide


3.1 Migration Guide
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github4 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

General Information
CakePHP Development Process
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github5 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

Glossary
Nota: La documentacin no es compatible actualmente con el idioma espaol en esta pgina.
Por favor, sintase libre de enviarnos un pull request en Github6 o utilizar el botn Improve this Doc para
proponer directamente los cambios.
Usted puede hacer referencia a la versin en Ingls en el men de seleccin superior para obtener informacin sobre el tema de esta pgina.

https://github.com/cakephp/docs
https://github.com/cakephp/docs
5
https://github.com/cakephp/docs
6
https://github.com/cakephp/docs
4

124

Captulo 46. Appendices

CAPTULO 47

Indices and Tables

genindex
modindex

125

CakePHP Cookbook Documentation, Publicacin 3.x

126

Captulo 47. Indices and Tables

PHP Namespace Index

c
Cake\Collection, 95
Cake\Console, 61
Cake\Controller, 39
Cake\Database, 49
Cake\Database\Schema, 53
Cake\Form, 79
Cake\I18n, 107
Cake\Model\Behavior, 53
Cake\Network\Http, 103
Cake\ORM, 50
Cake\Routing, 35
Cake\Utility, 115
Cake\Validation, 91
Cake\View, 43
Cake\View\Helper, 46
Cake\View\UrlHelper, 47

127

CakePHP Cookbook Documentation, Publicacin 3.x

128

PHP Namespace Index

ndice

Cake\Collection (namespace), 95
Cake\Console (namespace), 61
Cake\Controller (namespace), 39
Cake\Database (namespace), 49
Cake\Database\Schema (namespace), 53
Cake\Form (namespace), 79
Cake\I18n (namespace), 107
Cake\Model\Behavior (namespace), 52, 53
Cake\Network\Http (namespace), 103
Cake\ORM (namespace), 4951
Cake\Routing (namespace), 35
Cake\Utility (namespace), 87, 105, 111, 113, 115
Cake\Validation (namespace), 91
Cake\View (namespace), 43
Cake\View\Helper (namespace), 4446
Cake\View\UrlHelper (namespace), 47
Client (clase en Cake\Network\Http), 103
Controller (clase en Cake\Controller), 39

Inflector (clase en Cake\Utility), 105

D
delete() (Cake\ORM\Table method), 51

E
Entity (clase en Cake\ORM), 50

F
FlashHelper (clase en Cake\View\Helper), 44
Form (clase en Cake\Form), 79
FormHelper (clase en Cake\View\Helper), 44

N
Number (clase en Cake\I18n), 107
NumberHelper (clase en Cake\View\Helper), 45

P
PaginatorHelper (clase en Cake\View\Helper), 45

Q
Query (clase en Cake\ORM), 49

R
Router (clase en Cake\Routing), 35
RssHelper (clase en Cake\View\Helper), 46

S
Security (clase en Cake\Utility), 87
SessionHelper (clase en Cake\View\Helper), 46

T
Table (clase en Cake\ORM), 50, 51
Text (clase en Cake\Utility), 111
TextHelper (clase en Cake\View\Helper), 46
Time (clase en Cake\Utility), 113
TimeHelper (clase en Cake\View\Helper), 46
TimestampBehavior
(clase
en
Cake\Model\Behavior), 52
TranslateBehavior (clase en Cake\Model\Behavior),
52
TreeBehavior (clase en Cake\Model\Behavior), 53

HtmlHelper (clase en Cake\View\Helper), 45

129

CakePHP Cookbook Documentation, Publicacin 3.x

U
UrlHelper (clase en Cake\View\UrlHelper), 47

V
View (clase en Cake\View), 43

X
Xml (clase en Cake\Utility), 115

130

ndice

You might also like