Your SlideShare is downloading. ×
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Iniciación Con CakePHP
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Iniciación Con CakePHP

3,518

Published on

La presentación de Víctor san Martín en el Cakefest Conference Chile, realizado el 19 de Diciembre del 2008. …

La presentación de Víctor san Martín en el Cakefest Conference Chile, realizado el 19 de Diciembre del 2008.

http://www.victorsanmartin.com

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,518
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
139
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Iniciación con CakePHP Víctor San Martín victor.sanmartin@eclass.cl www.victorsanmartin.com
  • 2. ¿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
  • 3. ¿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
  • 4. 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.
  • 5. MVC ModelModel ViewView ControllerController Los datos de la aplicación La presentación de la información Procesa los eventos de la aplicación
  • 6. 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.
  • 7. MVC en CakePHP Fuente: http://betterexplained.com/
  • 8. 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 …
  • 9. Desarrollando con CakePHP
  • 10. Requerimientos • Servidor HTTP (Apache 2) • PHP4 o PHP5 • Base de datos (opcional) • Mysql, PostgreSQL, Firebird DB2, Microsoft SQL Server, Oracle, SQLite, ODBC o ADOdb.
  • 11. 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
  • 12. Primera impresión Version: 1.2.0.7692-rc3
  • 13. Aplicación básica: Blog Paso 1: Análisis El blog debe contar con las siguientes acciones: • Listar • Crear • Editar • Eliminar
  • 14. 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;
  • 15. Aplicación básica: Blog Paso 3: Conectándose /app/config/database.php.default /app/config/database.php
  • 16. Aplicación básica: Blog Paso 4: El Modelo /app/models/post.php
  • 17. Aplicación básica: Blog Paso 5: El Controlador /app/ controllers /posts_controler.php
  • 18. Aplicación básica: Blog CRUD completo http://localhost/posts/ http://localhost/posts/delete/1/ http://localhost/posts/new/ http://localhost/posts/edit/1/
  • 19. 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.
  • 20. 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
  • 21. 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
  • 22. Aplicación básica: Blog Bonus: Validación /app/models/post.php
  • 23. Aplicación básica: Blog Bonus: Validación
  • 24. Aplicación básica: Blog Bonus: Validación /app/models/post.php
  • 25. Aplicación básica: Blog Bonus: Vistas Personalizadas /app/views/posts/index.ctp
  • 26. Aplicación básica: Blog Bonus: Vistas Personalizadas /app/controllers/posts_controller.php
  • 27. Aplicación básica: Blog Bonus: Vistas Personalizadas
  • 28. Aplicación básica: Blog Bonus: Vistas Personalizadas
  • 29. Aplicación básica: Blog Bonus: Vistas Personalizadas
  • 30. Aplicación básica: Blog Bonus: Vistas Personalizadas
  • 31. Aplicación básica: Blog Bonus: Vistas Personalizadas
  • 32. 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)
  • 33. 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

×