SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Introducción a
      CakePHP
¿Que es? primeros pasos
      y consideraciones.




        Jairo Enrique Serrano Castañeda 2008
¿Como realizar un buen pastel?




   La clave esta en escribir menos código y generar
    más modelos y vistas.
¿Como realizar un buen pastel?


   Que es CakePHP          Ingredientes
    y que se necesita.          Unos cuantos
                                 modelos
                                Muchas vistas
                                Un controlador o dos
                                Una pizca de
                                 ActiveRecord
En pocas palabras, CakePHP es:

    Una plataforma para el desarrollo rápido de
     aplicaciones web
    MVC + AR*
    Scaffolding – Edición instantanéa de datos de
     una tabla
    Compatible con PHP4 y PHP5




* Active Record – Acceso a datos
Estructura del directorio APP
   app/
        config/
                Configuración de la aplicación
        controllers/
                Aquí esta contenida la lógica de la aplicación
        models/
                Son representaciones de las tablas de la base de datos
        views/
                Son archivos thtml (html con php incluido)
   .... otros ...
   index.php
                Lanzador
Como se ejecuta

   Al llamarse el index.php
       Se procesa la URL
       Si es usado mod_rewrite la URL se compone así:
            /controlador/metodo/arg0/valor0/arg1/valor1…
       Se inicializa el controlador requerido
       Ejecuta el metodo llamado incluyendo los
        argumentos y valores
       Se envia la señal para proceder el renderizado de
        la vista
Adicionalmente: Helpers y Plugins

   Usualmente son funciones que comunmente se
    usan en las vistas
       Ejemplo: menu_principal(), formato_fecha(),
        editor_html_tinyMCE(), etc
   Algunos estan disponibles desde el lanzador de
    la aplicación, algunos muy especificos los
    carga el controlador que los usa.
   No tienen permitido la manipulación ni el
    acceso a los modelos ni a los controladores
   Si desea pasarle datos, debe realizarse desde
    el controlador no desde la vista.
Para recordar MVC...

   Es un patrón de diseño que gira en tres ejes en
    una aplicación que manejará datos

       Los modelos representan los datos
       Las vistas representan la interfaz gráfica (XHTML)
       Los controladores es la lógica del negocio
Los modelos...

   Representan los datos usados por la
    aplicación, especialmente las tablas
   Se establecen relaciones entre ellos
       hasOne, hasMany, belongsTo,
        hasManyAndBelongsTo
   Proveen reglas de validación de datos
   Tienen nombres en SINGULAR (Usuario), las
    tablas fisicas de la base de datos se llaman en
    PLURAL (Usuarios)
Las vistas...

   Se representan como las plantillas de la
    aplicación
       Estan directamente relacionadas con las metodos
        de los controladores
   Usualmente son paginas XHTML pero pueden
    ser Feeds RSS, Correos electronicos, XML que
    renderiza aplicaciones en Facebook... etc
Los controladores...

   Manejan la logica de la aplicación
   Actuan como intermedios entre los modelos y
    las vistas
   En ellos se realizan las acciones de cada
    sección de la aplicación
       index, view, add, edit, delete, etc...
Active Record

   Es otro patrón de diseño creado especialmente
    para leer y escribir en una base de datos
       Representa una unica fila de datos
       Adiciona funcionalidad a los modelos
        permitiendoles crear, editar o eliminar información
       Elimina la necesidad de usar SQL directamente
Active Record

   Es otro patrón de diseño creado especialmente
    para leer y escribir en una base de datos
       Representa una unica fila de datos
       Adiciona funcionalidad a los modelos
        permitiendoles crear, editar o eliminar información
       Elimina la necesidad de usar SQL directamente
Realizando una rápida receta...

                   CakePHP dispone de
CAKE!               una herramienta por
                    linea de comandos, que
                    permite generar
                    rápidamente las
BAKE!               plantillas de la
                    aplicación para luego
                    proceder a su
                    personalización

ACCIÓN!
Pasos...

     1) Generar Modelos

     2) Generar Controladores

     3) Generar Vistas

     4) Personalizar

     5) ¡Divertirse!
¿Dudas?
       CakePHP
Visualizar el videotutorial
                en español




         Jairo Enrique Serrano Castañeda 2008
Créditos

   http://www.slideshare.net/mgirouard/baking-
    cakes-with-php - Michael Girouard
   http://manual.cakephp.org




                                  Jairo Enrique Serrano Castañeda 2008

Mais conteúdo relacionado

Semelhante a Como preparar un buen pastel con CakePHP

Frameworks para Php Adwa
Frameworks para Php AdwaFrameworks para Php Adwa
Frameworks para Php AdwaAndres Karp
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Facescok12v
 
Desarrollando aplicaciones web con Zope 3
Desarrollando aplicaciones web con Zope 3Desarrollando aplicaciones web con Zope 3
Desarrollando aplicaciones web con Zope 3Roberto Allende
 
Open ERP Doc-05-open_erp_tutorial_basico
Open ERP Doc-05-open_erp_tutorial_basicoOpen ERP Doc-05-open_erp_tutorial_basico
Open ERP Doc-05-open_erp_tutorial_basicoOpen ERP Finanzas
 
Exposicion Akelos
Exposicion AkelosExposicion Akelos
Exposicion Akelosdokeosla
 
Tutorial de cakePHP itst
Tutorial de cakePHP itstTutorial de cakePHP itst
Tutorial de cakePHP itstomicx
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8Julian Valero
 
Manual del usuario web
Manual del usuario webManual del usuario web
Manual del usuario webAngel Almada
 
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHPZenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHPJuan Belón Pérez
 
Desarrollo_web_con_PHP_y_MySQL.pdf
Desarrollo_web_con_PHP_y_MySQL.pdfDesarrollo_web_con_PHP_y_MySQL.pdf
Desarrollo_web_con_PHP_y_MySQL.pdfMauricioGArmoa
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosGeorge Navarro Gomez
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosGeorge Navarro Gomez
 
8 creacion de sistemas de informacion
8 creacion de sistemas de informacion8 creacion de sistemas de informacion
8 creacion de sistemas de informacionAbelAbedSilvaSantaCr
 
Haciendo que tu entorno de desarrollo de Drupal rocks
Haciendo que tu entorno de desarrollo de Drupal rocksHaciendo que tu entorno de desarrollo de Drupal rocks
Haciendo que tu entorno de desarrollo de Drupal rocksSacha Chua
 
Presentación de zan php
Presentación de zan phpPresentación de zan php
Presentación de zan phpCarlos Zantana
 
Chamilo para-desarrolladores-1.9
Chamilo para-desarrolladores-1.9Chamilo para-desarrolladores-1.9
Chamilo para-desarrolladores-1.9Chamilo Association
 

Semelhante a Como preparar un buen pastel con CakePHP (20)

MVC
MVCMVC
MVC
 
Frameworks para Php Adwa
Frameworks para Php AdwaFrameworks para Php Adwa
Frameworks para Php Adwa
 
Jsf Java Server Faces
Jsf   Java Server FacesJsf   Java Server Faces
Jsf Java Server Faces
 
Desarrollando aplicaciones web con Zope 3
Desarrollando aplicaciones web con Zope 3Desarrollando aplicaciones web con Zope 3
Desarrollando aplicaciones web con Zope 3
 
Opina: gestor de encuestas
Opina: gestor de encuestasOpina: gestor de encuestas
Opina: gestor de encuestas
 
DocOpenERP - Open erp tutorial_basico
DocOpenERP - Open erp tutorial_basicoDocOpenERP - Open erp tutorial_basico
DocOpenERP - Open erp tutorial_basico
 
Open ERP Doc-05-open_erp_tutorial_basico
Open ERP Doc-05-open_erp_tutorial_basicoOpen ERP Doc-05-open_erp_tutorial_basico
Open ERP Doc-05-open_erp_tutorial_basico
 
Exposicion Akelos
Exposicion AkelosExposicion Akelos
Exposicion Akelos
 
Tutorial de cakePHP itst
Tutorial de cakePHP itstTutorial de cakePHP itst
Tutorial de cakePHP itst
 
Inciación a Drupal 8
Inciación a Drupal 8Inciación a Drupal 8
Inciación a Drupal 8
 
Manual del usuario web
Manual del usuario webManual del usuario web
Manual del usuario web
 
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHPZenphp - Presentación de Septiembre en la Etsiit - Programador PHP
Zenphp - Presentación de Septiembre en la Etsiit - Programador PHP
 
Desarrollo_web_con_PHP_y_MySQL.pdf
Desarrollo_web_con_PHP_y_MySQL.pdfDesarrollo_web_con_PHP_y_MySQL.pdf
Desarrollo_web_con_PHP_y_MySQL.pdf
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 
Django - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales ConceptosDjango - Curso Básico - Principales Conceptos
Django - Curso Básico - Principales Conceptos
 
8 creacion de sistemas de informacion
8 creacion de sistemas de informacion8 creacion de sistemas de informacion
8 creacion de sistemas de informacion
 
Haciendo que tu entorno de desarrollo de Drupal rocks
Haciendo que tu entorno de desarrollo de Drupal rocksHaciendo que tu entorno de desarrollo de Drupal rocks
Haciendo que tu entorno de desarrollo de Drupal rocks
 
Iniciación Con CakePHP
Iniciación Con CakePHPIniciación Con CakePHP
Iniciación Con CakePHP
 
Presentación de zan php
Presentación de zan phpPresentación de zan php
Presentación de zan php
 
Chamilo para-desarrolladores-1.9
Chamilo para-desarrolladores-1.9Chamilo para-desarrolladores-1.9
Chamilo para-desarrolladores-1.9
 

Mais de Jairo Serrano

Tesis Maestría en Software Libre
Tesis Maestría en Software LibreTesis Maestría en Software Libre
Tesis Maestría en Software LibreJairo Serrano
 
Software Libre y producción de contenidos, ponencia Virtual Educa 2009
Software Libre y producción de contenidos, ponencia Virtual Educa 2009Software Libre y producción de contenidos, ponencia Virtual Educa 2009
Software Libre y producción de contenidos, ponencia Virtual Educa 2009Jairo Serrano
 
mLearning experimental - UTB 2011
mLearning experimental - UTB 2011mLearning experimental - UTB 2011
mLearning experimental - UTB 2011Jairo Serrano
 
Software Libre como pilar en el Grid Computing
Software Libre como pilar en el Grid ComputingSoftware Libre como pilar en el Grid Computing
Software Libre como pilar en el Grid ComputingJairo Serrano
 
Ponencia Feria Software Libre UNAD Bogota 2011
Ponencia Feria Software Libre UNAD Bogota 2011Ponencia Feria Software Libre UNAD Bogota 2011
Ponencia Feria Software Libre UNAD Bogota 2011Jairo Serrano
 
Quinto Congreso Colombiano de Computación - 2010
Quinto Congreso Colombiano de Computación - 2010Quinto Congreso Colombiano de Computación - 2010
Quinto Congreso Colombiano de Computación - 2010Jairo Serrano
 
Presentacion Educacion Mediada
Presentacion Educacion MediadaPresentacion Educacion Mediada
Presentacion Educacion MediadaJairo Serrano
 
Software Libre Al Servicio Del Desarrollo Social
Software Libre Al Servicio Del Desarrollo SocialSoftware Libre Al Servicio Del Desarrollo Social
Software Libre Al Servicio Del Desarrollo SocialJairo Serrano
 

Mais de Jairo Serrano (9)

Tesis Maestría en Software Libre
Tesis Maestría en Software LibreTesis Maestría en Software Libre
Tesis Maestría en Software Libre
 
Software Libre y producción de contenidos, ponencia Virtual Educa 2009
Software Libre y producción de contenidos, ponencia Virtual Educa 2009Software Libre y producción de contenidos, ponencia Virtual Educa 2009
Software Libre y producción de contenidos, ponencia Virtual Educa 2009
 
Flisol 2012
Flisol 2012Flisol 2012
Flisol 2012
 
mLearning experimental - UTB 2011
mLearning experimental - UTB 2011mLearning experimental - UTB 2011
mLearning experimental - UTB 2011
 
Software Libre como pilar en el Grid Computing
Software Libre como pilar en el Grid ComputingSoftware Libre como pilar en el Grid Computing
Software Libre como pilar en el Grid Computing
 
Ponencia Feria Software Libre UNAD Bogota 2011
Ponencia Feria Software Libre UNAD Bogota 2011Ponencia Feria Software Libre UNAD Bogota 2011
Ponencia Feria Software Libre UNAD Bogota 2011
 
Quinto Congreso Colombiano de Computación - 2010
Quinto Congreso Colombiano de Computación - 2010Quinto Congreso Colombiano de Computación - 2010
Quinto Congreso Colombiano de Computación - 2010
 
Presentacion Educacion Mediada
Presentacion Educacion MediadaPresentacion Educacion Mediada
Presentacion Educacion Mediada
 
Software Libre Al Servicio Del Desarrollo Social
Software Libre Al Servicio Del Desarrollo SocialSoftware Libre Al Servicio Del Desarrollo Social
Software Libre Al Servicio Del Desarrollo Social
 

Último

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
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
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
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
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 

Último (11)

Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
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
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
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
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

Como preparar un buen pastel con CakePHP

  • 1. Introducción a CakePHP ¿Que es? primeros pasos y consideraciones. Jairo Enrique Serrano Castañeda 2008
  • 2. ¿Como realizar un buen pastel?  La clave esta en escribir menos código y generar más modelos y vistas.
  • 3. ¿Como realizar un buen pastel?  Que es CakePHP  Ingredientes y que se necesita.  Unos cuantos modelos  Muchas vistas  Un controlador o dos  Una pizca de ActiveRecord
  • 4. En pocas palabras, CakePHP es:  Una plataforma para el desarrollo rápido de aplicaciones web  MVC + AR*  Scaffolding – Edición instantanéa de datos de una tabla  Compatible con PHP4 y PHP5 * Active Record – Acceso a datos
  • 5. Estructura del directorio APP  app/  config/  Configuración de la aplicación  controllers/  Aquí esta contenida la lógica de la aplicación  models/  Son representaciones de las tablas de la base de datos  views/  Son archivos thtml (html con php incluido)  .... otros ...  index.php  Lanzador
  • 6. Como se ejecuta  Al llamarse el index.php  Se procesa la URL  Si es usado mod_rewrite la URL se compone así:  /controlador/metodo/arg0/valor0/arg1/valor1…  Se inicializa el controlador requerido  Ejecuta el metodo llamado incluyendo los argumentos y valores  Se envia la señal para proceder el renderizado de la vista
  • 7. Adicionalmente: Helpers y Plugins  Usualmente son funciones que comunmente se usan en las vistas  Ejemplo: menu_principal(), formato_fecha(), editor_html_tinyMCE(), etc  Algunos estan disponibles desde el lanzador de la aplicación, algunos muy especificos los carga el controlador que los usa.  No tienen permitido la manipulación ni el acceso a los modelos ni a los controladores  Si desea pasarle datos, debe realizarse desde el controlador no desde la vista.
  • 8. Para recordar MVC...  Es un patrón de diseño que gira en tres ejes en una aplicación que manejará datos  Los modelos representan los datos  Las vistas representan la interfaz gráfica (XHTML)  Los controladores es la lógica del negocio
  • 9. Los modelos...  Representan los datos usados por la aplicación, especialmente las tablas  Se establecen relaciones entre ellos  hasOne, hasMany, belongsTo, hasManyAndBelongsTo  Proveen reglas de validación de datos  Tienen nombres en SINGULAR (Usuario), las tablas fisicas de la base de datos se llaman en PLURAL (Usuarios)
  • 10. Las vistas...  Se representan como las plantillas de la aplicación  Estan directamente relacionadas con las metodos de los controladores  Usualmente son paginas XHTML pero pueden ser Feeds RSS, Correos electronicos, XML que renderiza aplicaciones en Facebook... etc
  • 11. Los controladores...  Manejan la logica de la aplicación  Actuan como intermedios entre los modelos y las vistas  En ellos se realizan las acciones de cada sección de la aplicación  index, view, add, edit, delete, etc...
  • 12. Active Record  Es otro patrón de diseño creado especialmente para leer y escribir en una base de datos  Representa una unica fila de datos  Adiciona funcionalidad a los modelos permitiendoles crear, editar o eliminar información  Elimina la necesidad de usar SQL directamente
  • 13. Active Record  Es otro patrón de diseño creado especialmente para leer y escribir en una base de datos  Representa una unica fila de datos  Adiciona funcionalidad a los modelos permitiendoles crear, editar o eliminar información  Elimina la necesidad de usar SQL directamente
  • 14. Realizando una rápida receta...  CakePHP dispone de CAKE! una herramienta por linea de comandos, que permite generar rápidamente las BAKE! plantillas de la aplicación para luego proceder a su personalización ACCIÓN!
  • 15. Pasos... 1) Generar Modelos 2) Generar Controladores 3) Generar Vistas 4) Personalizar 5) ¡Divertirse!
  • 16. ¿Dudas? CakePHP Visualizar el videotutorial en español Jairo Enrique Serrano Castañeda 2008
  • 17. Créditos  http://www.slideshare.net/mgirouard/baking- cakes-with-php - Michael Girouard  http://manual.cakephp.org Jairo Enrique Serrano Castañeda 2008