3. ¿Por qué utilizar un Framework?
• Agilizas el desarrollo
• Aplicaciones mas estables
• Facilita el trabajo en equipo
• Te enfocas en la capa de negocio, no en tareas
sencillas y repetitivas
• No reinventas la rueda
4. ¿Por qué CakePHP?
• Arquitectura MVC
• Flexible y Extensible (escalable)
• Mejores prácticas
• Convención sobre la Configuración
• Desarrolla de una manera más ágil y rápida
• Programación OO
• Documentación por todas partes
• Comunidad activa
5. MVC
MVC: Modelo, Vista, Controlador
Es un patron de diseño de software que separa
la aplicación en 3 partes: las entidades, la
interface de usuario y la lógica de control.
7. Entendiendo MVC
ModelModel ViewView
ControllerController
BrowserBrowser
MySQL,
Oracle,
Postgres,
…
• El navegador genera una
petición.
http://localhost/posts/
• El controlador procesa la acción.
•El controlador accede a la lógica
del negocio (modelo).
•El modelo accede a la base de
datos para ejecutar la acción
enviada desde el controlador.
•El controlador carga la vista
relacionada a la acción.
•El controlador renderiza la vista
obtenida, incluyendo los datos
obtenidos desde el modelo.
•El controlador devuelve una
respuesta al navegador.
11. Requerimientos
• Servidor HTTP (Apache 2)
• PHP4 o PHP5
• Base de datos (opcional)
• Mysql, PostgreSQL, Firebird DB2, Microsoft SQL
Server, Oracle, SQLite, ODBC o ADOdb.
14. Aplicación básica: Blog
Paso 1: Análisis
El blog debe contar con las siguientes acciones:
• Listar
• Crear
• Editar
• Eliminar
15. Aplicación básica: Blog
Paso 2: Base de Datos
CREATE TABLE `posts` (
`id` INT(6) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`created` DATETIME NOT NULL,
`modified` DATETIME NOT NULL,
`title` VARCHAR(200) NOT NULL,
`content` TEXT NOT NULL
)
ENGINE = myisam;
19. Aplicación básica: Blog
CRUD completo
http://localhost/posts/ http://localhost/posts/delete/1/
http://localhost/posts/new/ http://localhost/posts/edit/1/
20. Aplicación básica: Blog
Primera impresión
Que rápido no?
En tan solo 5 pasos creamos un contenedor!!!
Desarrollo ágil, rápido y simple.
21. Aplicación básica: Blog
Notas: Convenciones
Modelo: La tabla se escribe “siempre en plural”
y el “modelo en singular”
posts -> post.php
Controlador: “Siempre en plural”, y se agrega
“controller” al archivo y nombre de la clase
class PostsController -> post_controller.php
22. Aplicación básica: Blog
Notas: Convenciones
Las clases se escriben en formato CamelCased,
mientras que los archivos llevan underscore
“_”.
UsuariosController -> usuarios_controller.php
CallePrincipal.php -> calle_principal.php
Excepción: Helpers y Componentes
HtmlHelper -> html.php
SessionComponent -> session.php
33. Más Información
Sitio Web
http://www.cakephp.org
The bakery
http://bakery.cakephp.org
Book
http://book.cakephp.org
API
http://api.cakephp.org
Google Grupos
http://groups.google.com/group/cake-php/
http://groups.google.com/group/cakephp-esp
http://groups.google.com/group/cakephp-chile
Más? San Google…
http://www.google.cl/search?q=cakephp (+4.000.000 de resultados)