SlideShare une entreprise Scribd logo
1  sur  34
Iniciación con CakePHP
Víctor San Martín
victor.sanmartin@eclass.cl
www.victorsanmartin.com
¿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
¿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
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.
MVC
ModelModel
ViewView
ControllerController
Los datos de la aplicación
La presentación de la información
Procesa los eventos de la aplicación
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.
MVC en CakePHP
Fuente: http://betterexplained.com/
Mas características
• Compatible con PHP4 y PHP5
• CRUD integrado (Create, Read, Update, Delete)
• Scaffolding
• Internacionalización
• Helpers (Html, Form, Ajax, Session, etc)
• Components (Session, Email, Security, etc)
• Licencia MIT
• Y mucho más …
Desarrollando con
CakePHP
Requerimientos
• Servidor HTTP (Apache 2)
• PHP4 o PHP5
• Base de datos (opcional)
• Mysql, PostgreSQL, Firebird DB2, Microsoft SQL
Server, Oracle, SQLite, ODBC o ADOdb.
Estructura
/www/
app/
config/
controllers/
locale/
models/
plugins/
tests/
tmp/
vendors/
views/
webroot/
cake/
docs/
vendors/
index.php
.htaccess
Version:
1.2.0.7692-rc3
Primera impresión
Version:
1.2.0.7692-rc3
Aplicación básica: Blog
Paso 1: Análisis
El blog debe contar con las siguientes acciones:
• Listar
• Crear
• Editar
• Eliminar
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;
Aplicación básica: Blog
Paso 3: Conectándose
/app/config/database.php.default
/app/config/database.php
Aplicación básica: Blog
Paso 4: El Modelo
/app/models/post.php
Aplicación básica: Blog
Paso 5: El Controlador
/app/ controllers /posts_controler.php
Aplicación básica: Blog
CRUD completo
http://localhost/posts/ http://localhost/posts/delete/1/
http://localhost/posts/new/ http://localhost/posts/edit/1/
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.
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
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
Aplicación básica: Blog
Bonus: Validación
/app/models/post.php
Aplicación básica: Blog
Bonus: Validación
Aplicación básica: Blog
Bonus: Validación
/app/models/post.php
Aplicación básica: Blog
Bonus: Vistas Personalizadas
/app/views/posts/index.ctp
Aplicación básica: Blog
Bonus: Vistas Personalizadas
/app/controllers/posts_controller.php
Aplicación básica: Blog
Bonus: Vistas Personalizadas
Aplicación básica: Blog
Bonus: Vistas Personalizadas
Aplicación básica: Blog
Bonus: Vistas Personalizadas
Aplicación básica: Blog
Bonus: Vistas Personalizadas
Aplicación básica: Blog
Bonus: Vistas Personalizadas
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)
Fin
Víctor San Martín
http://www.victorsanmartin.com
Gtalk, MSN, Correo
questchile@gmail.com
Corp
victor.sanmartin@eclass.cl
Twitter
@questchile
Skype
victor.sm
Consultas

Contenu connexe

Tendances

MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)Senior Dev
 
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7Luis Ruiz Pavón
 
ASP.NET MVC (2011)
ASP.NET MVC (2011)ASP.NET MVC (2011)
ASP.NET MVC (2011)wildtango
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaJorge Pacheco Mengual
 
DESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEBDESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEBJavier Condori Flores
 
Webinar: Base de Datos en tiempo real con MeteorJS
Webinar: Base de Datos en tiempo real con MeteorJSWebinar: Base de Datos en tiempo real con MeteorJS
Webinar: Base de Datos en tiempo real con MeteorJSArsys
 
Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Eduard Tomàs
 
Plainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsPlainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsCarlos Landeras Martínez
 
Desarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHPDesarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHPJavier López López
 
Introducción a ASP.NET MVC
Introducción a ASP.NET MVCIntroducción a ASP.NET MVC
Introducción a ASP.NET MVCSebastián Rocco
 

Tendances (20)

MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)MVC & ASP.NET (Spanish)
MVC & ASP.NET (Spanish)
 
ASP.NET 5 & MVC 6 (RC1)
ASP.NET 5 & MVC 6 (RC1)ASP.NET 5 & MVC 6 (RC1)
ASP.NET 5 & MVC 6 (RC1)
 
Mvc4 Intro
Mvc4 IntroMvc4 Intro
Mvc4 Intro
 
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7ReConnect 2015  - ASP.NET 5: MVC 6 y EF 7
ReConnect 2015 - ASP.NET 5: MVC 6 y EF 7
 
ASP.NET MVC (2011)
ASP.NET MVC (2011)ASP.NET MVC (2011)
ASP.NET MVC (2011)
 
Presentación Spring Boot en Autentia
Presentación Spring Boot en AutentiaPresentación Spring Boot en Autentia
Presentación Spring Boot en Autentia
 
Perfiles en maven
Perfiles en mavenPerfiles en maven
Perfiles en maven
 
Integrando AngularJS y drupal
Integrando AngularJS y drupalIntegrando AngularJS y drupal
Integrando AngularJS y drupal
 
Filtrado de recursos en Maven
Filtrado de recursos en MavenFiltrado de recursos en Maven
Filtrado de recursos en Maven
 
Mvc
MvcMvc
Mvc
 
DESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEBDESARROLLO RAPIDO DE APLICACIONES WEB
DESARROLLO RAPIDO DE APLICACIONES WEB
 
Webinar: Base de Datos en tiempo real con MeteorJS
Webinar: Base de Datos en tiempo real con MeteorJSWebinar: Base de Datos en tiempo real con MeteorJS
Webinar: Base de Datos en tiempo real con MeteorJS
 
Introducción a Kohana Framework
Introducción a Kohana FrameworkIntroducción a Kohana Framework
Introducción a Kohana Framework
 
Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6Novedades de ASP.NET MVC6
Novedades de ASP.NET MVC6
 
ASP.NET MVC Workshop Día 1
ASP.NET MVC Workshop Día 1ASP.NET MVC Workshop Día 1
ASP.NET MVC Workshop Día 1
 
Plainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time ApplicationsPlainconcepts .Net Core Event - Real Time Applications
Plainconcepts .Net Core Event - Real Time Applications
 
Why Azure is so MEAN?
Why Azure is so MEAN?Why Azure is so MEAN?
Why Azure is so MEAN?
 
Creando APIs REST con Spring Boot
Creando APIs REST con Spring BootCreando APIs REST con Spring Boot
Creando APIs REST con Spring Boot
 
Desarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHPDesarrollo Web con Kohana Framework PHP
Desarrollo Web con Kohana Framework PHP
 
Introducción a ASP.NET MVC
Introducción a ASP.NET MVCIntroducción a ASP.NET MVC
Introducción a ASP.NET MVC
 

Similaire à Iniciación Con CakePHP

Asp .net
Asp .netAsp .net
Asp .netmellcv
 
Introducción a Cake PHP Framework
Introducción a Cake PHP FrameworkIntroducción a Cake PHP Framework
Introducción a Cake PHP FrameworkJomicast
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptxSibilinoAndante
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corporacion de Industrias Tecnologicas S.A.
 
Curso SharePoint 2013 overview
Curso SharePoint 2013 overviewCurso SharePoint 2013 overview
Curso SharePoint 2013 overviewVladimir Medina
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephpbetabeers
 
SecondNug Febrero 2012 - Automatización de despliegues
SecondNug Febrero 2012 - Automatización de desplieguesSecondNug Febrero 2012 - Automatización de despliegues
SecondNug Febrero 2012 - Automatización de desplieguesJose Luis Soria
 
CURSO APLICACIONES WEB
CURSO APLICACIONES WEBCURSO APLICACIONES WEB
CURSO APLICACIONES WEBSkynet Erp
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Oscar Gensollen
 
Buenas Prácticas para la Construcción de Aplicaciones de Software
Buenas Prácticas para la Construcción de Aplicaciones de SoftwareBuenas Prácticas para la Construcción de Aplicaciones de Software
Buenas Prácticas para la Construcción de Aplicaciones de SoftwareJorge Alvarez
 
Kumbia PHP Framework - Inicios, Presente y Futuro
Kumbia PHP Framework - Inicios, Presente y FuturoKumbia PHP Framework - Inicios, Presente y Futuro
Kumbia PHP Framework - Inicios, Presente y FuturoDeivinson Tejeda
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxLuis Fernando Aguas Bucheli
 
Oracle Forms
Oracle FormsOracle Forms
Oracle Formshenryjzbl
 

Similaire à Iniciación Con CakePHP (20)

Asp .net
Asp .netAsp .net
Asp .net
 
Codeigniter101
Codeigniter101Codeigniter101
Codeigniter101
 
Introducción a Cake PHP Framework
Introducción a Cake PHP FrameworkIntroducción a Cake PHP Framework
Introducción a Cake PHP Framework
 
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
5.- PPT 2022 05 U01 T01 Desarrollo de Servicios Web I (1915).pptx
 
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
Corp. In. Tec. S.A. - Capacitaciones en Informática - Programación con CodeIg...
 
Asp.net mvc
Asp.net mvcAsp.net mvc
Asp.net mvc
 
Curso SharePoint 2013 overview
Curso SharePoint 2013 overviewCurso SharePoint 2013 overview
Curso SharePoint 2013 overview
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
Intro a cakephp
Intro a cakephpIntro a cakephp
Intro a cakephp
 
SecondNug Febrero 2012 - Automatización de despliegues
SecondNug Febrero 2012 - Automatización de desplieguesSecondNug Febrero 2012 - Automatización de despliegues
SecondNug Febrero 2012 - Automatización de despliegues
 
CURSO APLICACIONES WEB
CURSO APLICACIONES WEBCURSO APLICACIONES WEB
CURSO APLICACIONES WEB
 
Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5Desarrollo de Aplicaciones Web con ASP.NET MVC5
Desarrollo de Aplicaciones Web con ASP.NET MVC5
 
Manualcake
ManualcakeManualcake
Manualcake
 
Buenas Prácticas para la Construcción de Aplicaciones de Software
Buenas Prácticas para la Construcción de Aplicaciones de SoftwareBuenas Prácticas para la Construcción de Aplicaciones de Software
Buenas Prácticas para la Construcción de Aplicaciones de Software
 
3-Unidad 1. Arquitectura de Diseño
3-Unidad 1. Arquitectura de Diseño3-Unidad 1. Arquitectura de Diseño
3-Unidad 1. Arquitectura de Diseño
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Kumbia PHP Framework - Inicios, Presente y Futuro
Kumbia PHP Framework - Inicios, Presente y FuturoKumbia PHP Framework - Inicios, Presente y Futuro
Kumbia PHP Framework - Inicios, Presente y Futuro
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
 
Oracle Forms
Oracle FormsOracle Forms
Oracle Forms
 
Modelo mvc
Modelo mvcModelo mvc
Modelo mvc
 

Dernier

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 

Dernier (10)

Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 

Iniciación Con CakePHP