Manual CakePHP
altoc713 de Noviembre de 2013
16.380 Palabras (66 Páginas)221 Visitas
CakePHP Cookbook Documentation
Release 2.x
Cake Software Foundation
04 de October de 2013
Índice general
1. Primeros Pasos 1
2. Parte 1: Tutorial para desarrollar el Blog 3
Descargar CakePHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Creando la base de datos para nuestro blog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Configurando la Base de Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Configuración Opcional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Sobre mod_rewrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3. Parte 2: Tutorial para desarrollar el Blog 9
Creando un modelo para los artículos (Post Model) . . . . . . . . . . . . . . . . . . . . . . . . . 9
Crear un Controlador para nuestros Artículos (Posts) . . . . . . . . . . . . . . . . . . . . . . . . 9
Creando una vista para los artículos (View) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Añadiendo artículos (posts) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Validando los datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Editando Posts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Borrando Artículos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Rutas (Routes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Conclusión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Lectura sugerida para continuar desde aquí . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Lectura Adicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4. Instalación 29
Descargar CakePHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Permisos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Configuración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Desarrollo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Producción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Instalación avanzada y configuración flexible . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
¡ A por todas ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
I
5. Introducción a CakePHP 41
¿Qué es CakePHP? y ¿Por qué usarlo? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Entendiendo el Modelo - Vista - Controlador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Dónde encontrar ayuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
6. ES - Deployment 47
7. Tutoriales y Ejemplos 49
Parte 1: Tutorial para desarrollar el Blog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Parte 2: Tutorial para desarrollar el Blog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
8. Indices and tables 65
II
CAPÍTULO 1
Primeros Pasos
CakePHP te proporciona una base robusta para construir tus aplicaciones. Se encarga de todo, desde la petición
inicial del usuario hasta la construcción del código HTML final. Como CakePHP sigue los fundamentos
del patrón MVC, te permite personalizar y extender fácilmente cada una de sus partes.
Este framework también proporciona una estructura organizacional: desde los nombres de ficheros hasta
los nombres de las tablas en la base de datos. Esto mantiene tu aplicación consistente y ordenada. Siendo
un concepto sencillo, seguir las convenciones definidas te facilitará encontrar rápidamente cada cosa y
aprenderás en menos tiempo los fundamentos del framework.
La mejor manera de empezar es ponerte manos a la obra y desarrollar algo. Para empezar construiremos un
Blog sencillo.
1
CakePHP Cookbook Documentation, Release 2.x
2 Capítulo 1. Primeros Pasos
CAPÍTULO 2
Parte 1: Tutorial para desarrollar el Blog
Bienvenido a CakePHP. Probablemente estás consultando este tutorial porque quieres aprender cómo funciona
CakePHP. Nuestro objetivo es potenciar tu productividad y hacer más divertido el desarrollo de aplicaciones.
Esperamos que puedas comprobarlo a medida que vas profundizando en el código.
En este tutorial vamos a crear un blog sencillo desde cero. Empezaremos descargando e instalando CakePHP,
luego crearemos una base de datos y el código necesario para listar, añadir, editar o borrar artículos del blog.
Esto es lo que necesitas:
1. Servidor web funcionando. Asumiremos que estás usando Apache, aunque las instrucciones para otros
servidores son similares. Igual tendremos que ajustar un poco la configuración inicial, pero todos los
pasos son sencillos. La mayor parte de nosotros podrá tener CakePHP funcionando sin tocar nada en
su configuración.
2. Base de datos funcionando. Usaremos MySQL en este tutorial. Necesitarás saber cómo crear una base
de datos nueva. CakePHP se encargará del resto.
3. Nivel básico de PHP. Si estás familiarizado con la programación orientada a objetos, mucho mejor.
Aún así puedes seguir desarrollando con tu estilo procedimental si lo prefieres.
4. Conocimiento sobre patrón MVC. Puedes encontrar una definición rápida aquí: Entendiendo el Modelo
- Vista - Controlador. No tengas miedo, sólo es media página.
¡ Vamos allá !
Descargar CakePHP
Vamos a descargar la última versión de CakePHP.
Para ello, visita la web del proyecto en github: https://github.com/cakephp/cakephp/tags y descargar / descomprimir
la última versión de la rama 2.0
También puedes clonar el repositorio usando git (http://git-scm.com/). git clone
git://github.com/cakephp/cakephp.git
3
CakePHP Cookbook Documentation, Release 2.x
Usa el método que prefieras y coloca la carpeta que has descargado bajo la ruta de tu servidor web (dentro
de tu DocumentRoot). Una vez terminado, tu directorio debería tener esta estructura:
/path_to_document_root
/app
/lib
/plugins
/vendors
.htaccess
index.php
README
Es buen momento para aprender algo sobre cómo funciona esta estructura de directorios: echa un vistazo a
“Directorios en CakePHP”, Sección: Estructura de directorios de CakePHP.
Creando la base de datos para nuestro 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 sólo una tabla para nuestros artículos (“posts”). Además crearemos
algunos artículos de test para usarlos luego. Una vez creada la tabla, ejecuta el siguiente código SQL en ella:
/* tabla para nuestros articulos */
CREATE TABLE posts (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(50),
body TEXT,
created DATETIME DEFAULT NULL,
modified DATETIME DEFAULT NULL
);
/* algunos valores de test */
INSERT INTO posts (title,body,created)
VALUES (’The title’, ’This is the post body.’, NOW());
INSERT INTO posts (title,body,created)
VALUES (’A title once again’, ’And the post body follows.’, NOW());
INSERT INTO posts (title,body,created)
VALUES (’Title strikes back’, ’This is really exciting! Not.’, NOW());
La elección 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 demás convenciones en tus clases (ver más
sobre convenciones aquí: Convenciones en CakePHP), aprovecharás la potencia del framework y ahorrarás
mucho trabajo de configuración.
CakePHP es flexible, si no quieres usar las convenciones puedes configurar luego cada elemento para que
funcione con tu Base de Datos legada. Te recomendamos que utilices estas convenciones ya que te ahorrarán
tiempo.
Al llamar ‘posts’ a nuestra tabla de artículos, estamos diciendo a CakePHP que vincule esta tabla por defecto
al Modelo ‘Post’, e incluir los campos ‘modified’ y ‘created’ con ese nombre, serán automáticamente
administrados por CakePHP.
4 Capítulo 2. Parte 1: Tutorial para desarrollar el Blog
CakePHP Cookbook Documentation, Release 2.x
Configurando la Base de Datos
Rápido y sencillo, vamos a decirle a CakePHP dónde está la Base de Datos y cómo conectarnos a ella.
Probabmente ésta será la primera y última vez que lo hagas en cada proyecto.
Hay un fichero de configuración preparado para que sólo tengas que copiarlo y modificarlo con tu propia
configuración.
Cambia el nombre del fichero /app/Config/database.php.default por
...