SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
Introducción al Akelos PHP Framework




                           Bermi Ferrer
…en esta presentación

• Introducción
• Componentes disponibles
• Anatomía de una aplicación Akelos
• Ronda de preguntas
Modelo Vista Controlador
Controlador
Controlador
• Actúa ante peticiones de usuarios para crear,
  mostrar, actualizar o borrar un objeto (Ej. Post)
Controlador
• Actúa ante peticiones de usuarios para crear,
  mostrar, actualizar o borrar un objeto (Ej. Post)
• Responde renderizando una vista (parseando
  una plantilla) o redirigiendo a otra acción.
Modelo
Modelo
• Implementa las normas del negocio mediante
  clases como Usuario, Comentario, Proyecto
Modelo
• Implementa las normas del negocio mediante
  clases como Usuario, Comentario, Proyecto
• Mantiene los datos y la lógica unidos:
  Un proyecto tiene un título y sabe si está activo.
Modelo
• Implementa las normas del negocio mediante
  clases como Usuario, Comentario, Proyecto
• Mantiene los datos y la lógica unidos:
  Un proyecto tiene un título y sabe si está activo.
• Representa las relaciones del modelo.
  Un Post tiene muchos Comentarios y pertenece a
  un Autor
app/models/post.php
Vista
Vista
• Representación de los modelos en HTML
Vista
• Representación de los modelos en HTML
• Lógica avanzada dentro de helpers
Vista
• Representación de los modelos en HTML
• Lógica avanzada dentro de helpers
• Sintags como lenguaje de plantillas o PHP
  seguro.
Flujo de peticiones
                      /posts/show/3


                        1) Petición                                  /index.php?
          Navegador                               Router             controler=posts&
                                                                     action=show&id=3


                                       2) Dirige hacia



                                                                     1. Configuración
6) Respuesta                                    Dispatcher           2. Instanciar controlador.


                                             3) Crea


                          5a) Render             Action        4) CRUD
                                                                           Active Record
       Action View                                                          Active Record
                                                                             Active Record
                                                Controller


                                                5b) Redirige
AkActionController
AkActionController
• Acciones agrupadas en el controlador
  Las acciones son métodos y no objetos, métodos auxiliares (helpers) compartidos.
AkActionController
• Acciones agrupadas en el controlador
  Las acciones son métodos y no objetos, métodos auxiliares (helpers) compartidos.


• Proceso
  Asignaciones y HTTP Status headers.
AkActionController
• Acciones agrupadas en el controlador
  Las acciones son métodos y no objetos, métodos auxiliares (helpers) compartidos.


• Proceso
  Asignaciones y HTTP Status headers.


• Redirección
  Url, ruta, accion, controlador
AkActionController
• Acciones agrupadas en el controlador
  Las acciones son métodos y no objetos, métodos auxiliares (helpers) compartidos.


• Proceso
  Asignaciones y HTTP Status headers.


• Redirección
  Url, ruta, acción, controlador


• Filtros
  Cadena de proceso, separación de responsabilidades.
  - Antes: Autentificación, Caché, Auditorías
  - Después: Compresión de la salida
AkActiveRecord
AkActiveRecord
• Mapeado            (DRY)
  Create, Read, Update, Destroy.
AkActiveRecord
• Mapeado            (DRY)
  Create, Read, Update, Destroy.


• Asociaciones
  Cardinalidad, Conveniencia, Cache.
AkActiveRecord
• Mapeado            (DRY)
  Create, Read, Update, Destroy.


• Asociaciones
  Cardinalidad, Conveniencia, Cache.


• Validaciones
  Basadas en atributos, save/create/update.
AkActiveRecord
• Mapeado             (DRY)
  Create, Read, Update, Destroy.


• Asociaciones
  Cardinalidad, Conveniencia, Cache.


• Validaciones
  Basadas en atributos, save/create/update.


• Callbacks
  Observer, ciclo de vida completo.
AkActiveRecord
• Mapeado              (DRY)
  Create, Read, Update, Destroy.


• Asociaciones
  Cardinalidad, Conveniencia, Cache.


• Validaciones
  Basadas en atributos, save/create/update.


• Callbacks
  Observer, ciclo de vida completo.


• Comportamientos
  Versioned, NestedSet,Tree, List.
AkActionView
AkActionView
• PHP limitado
  PHP directamente en las vistas
AkActionView
• PHP limitado
  PHP directamente en las vistas


• Template Languages
  Sintags, Smarty …
Sintags
Sintags




 PHP
Sintags




 PHP
Sintags




 PHP
Sintags




 PHP
Sintags




 PHP
Sintags




 PHP
AkActionView
• PHP limitado
  PHP directamente en las vistas


• Template Languages
  Sintags, Smarty …


• Asignaciones
  Variables de instancias compartidas
AkActionView
• PHP limitado
  PHP directamente en las vistas


• Template Languages
  Sintags, Smarty …


• Asignaciones
  Variables de instancias compartidas


• •Helpers
      Render de modelos fáciles
  •   Formularios: campos texto, selects…
  •   Textile, Markdown, UTF-8, Sanitize
  •   AJAX
Filosofía Akelos
Filosofía Akelos

• Convenciones antes que configuraciones
  Configuración mínima, mucha reflexión y valores predeterminados de calidad.
Filosofía Akelos

• Convenciones antes que configuraciones
  Configuración mínima, mucha reflexión y valores predeterminados de calidad.


• Conformidad con los regalos
  El cableado mágico se basa en estructuras comunes.
Filosofía Akelos

• Convenciones antes que configuraciones
  Configuración mínima, mucha reflexión y valores predeterminados de calidad.


• Conformidad con los regalos
  El cableado mágico se basa en estructuras comunes.


• Invitación a las buenas prácticas
  Esqueleto de tests unitarios y de integración generados automáticamente.
¿Diferencias con Rails?
¿Diferencias con Rails?
• PHP vs. Ruby
¿Diferencias con Rails?
• PHP vs. Ruby
• Drag & Drop vs. Deployment
¿Diferencias con Rails?
• PHP vs. Ruby
• Drag & Drop vs. Deployment
• i18n integrada vs. Plugin
¿Diferencias con Rails?
• PHP vs. Ruby
• Drag & Drop vs. Deployment
• i18n integrada vs. Plugin
• Demasiadas alternativas vs. Rey en solitario
¿Direfencias con otros frameworks en PHP?
                       Realizado por
      Tomasz Piotrowski & Mateusz Wozniak
           Nicolaus Copernicus University - Poland


       http://fon.gs/php_on_rails
Más información

• http://akelos.org
• http://akelos.org/screencasts
• http://akelos.org/docs
• irc.freenode.net #akelos
• http://trac.editam.com (port del Radiant CMS a Akelos)
¿Preguntas?
Gracias


                  SmallSquid


Presentación disponible en la web del grupo de
        usuarios de PHP de Barcelona.

           http://phpbarcelona.org

Mais conteúdo relacionado

Destaque

Iniciación PHP 5. Programación Orientada a Objetos
Iniciación PHP 5. Programación Orientada a ObjetosIniciación PHP 5. Programación Orientada a Objetos
Iniciación PHP 5. Programación Orientada a Objetos
Rightster
 
Vip users imprimir-tecnico hardware desde cero
Vip users imprimir-tecnico hardware desde ceroVip users imprimir-tecnico hardware desde cero
Vip users imprimir-tecnico hardware desde cero
xavazquez
 
Vip users windows 7
Vip users windows 7Vip users windows 7
Vip users windows 7
xavazquez
 

Destaque (20)

Curso php y_my_sql
Curso php y_my_sqlCurso php y_my_sql
Curso php y_my_sql
 
Iniciación PHP 5. Introducción
Iniciación PHP 5. IntroducciónIniciación PHP 5. Introducción
Iniciación PHP 5. Introducción
 
Iniciación PHP 5. Programación Orientada a Objetos
Iniciación PHP 5. Programación Orientada a ObjetosIniciación PHP 5. Programación Orientada a Objetos
Iniciación PHP 5. Programación Orientada a Objetos
 
Silex, desarrollo web ágil y profesional con PHP
Silex, desarrollo web ágil y profesional con PHPSilex, desarrollo web ágil y profesional con PHP
Silex, desarrollo web ágil y profesional con PHP
 
unidad 1
unidad 1unidad 1
unidad 1
 
gvHIDRA: Framework de desarrollo de aplicaciones de gestión PHP
gvHIDRA: Framework de desarrollo de aplicaciones de gestión PHPgvHIDRA: Framework de desarrollo de aplicaciones de gestión PHP
gvHIDRA: Framework de desarrollo de aplicaciones de gestión PHP
 
Tutorial hacer un crud con prado
Tutorial hacer un crud con pradoTutorial hacer un crud con prado
Tutorial hacer un crud con prado
 
Desarrollo web eficiente
Desarrollo web eficienteDesarrollo web eficiente
Desarrollo web eficiente
 
Clase 3
Clase 3Clase 3
Clase 3
 
Una estrategia de marketing online para el pequeño comercio
Una estrategia de marketing online para el pequeño comercioUna estrategia de marketing online para el pequeño comercio
Una estrategia de marketing online para el pequeño comercio
 
Frameworks para Php Adwa
Frameworks para Php AdwaFrameworks para Php Adwa
Frameworks para Php Adwa
 
Manual Técnico Para Hacer Réplica
Manual Técnico Para Hacer RéplicaManual Técnico Para Hacer Réplica
Manual Técnico Para Hacer Réplica
 
Iniciación PHP 5. Ejercicios
Iniciación PHP 5. EjerciciosIniciación PHP 5. Ejercicios
Iniciación PHP 5. Ejercicios
 
Vip users imprimir-tecnico hardware desde cero
Vip users imprimir-tecnico hardware desde ceroVip users imprimir-tecnico hardware desde cero
Vip users imprimir-tecnico hardware desde cero
 
Vip users windows 7
Vip users windows 7Vip users windows 7
Vip users windows 7
 
Iniciación PHP 5. Ejemplos
Iniciación PHP 5. EjemplosIniciación PHP 5. Ejemplos
Iniciación PHP 5. Ejemplos
 
Iniciación PHP 5. Arquitectura cliente/servidor
Iniciación PHP 5. Arquitectura cliente/servidorIniciación PHP 5. Arquitectura cliente/servidor
Iniciación PHP 5. Arquitectura cliente/servidor
 
Desarrollo de una interfaz Web de consulta y análisis de datos en Bioinformat...
Desarrollo de una interfaz Web de consulta y análisis de datos en Bioinformat...Desarrollo de una interfaz Web de consulta y análisis de datos en Bioinformat...
Desarrollo de una interfaz Web de consulta y análisis de datos en Bioinformat...
 
Programación Web - Introducción
Programación Web - IntroducciónProgramación Web - Introducción
Programación Web - Introducción
 
Marco de buen desempeño docente 2013
Marco de buen desempeño docente  2013Marco de buen desempeño docente  2013
Marco de buen desempeño docente 2013
 

Semelhante a Introduccion al Akelos Php Framework

Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y Rails
David Calavera
 
Herramientas Ágiles para Desarrollo
Herramientas Ágiles para DesarrolloHerramientas Ágiles para Desarrollo
Herramientas Ágiles para Desarrollo
Gastón Guillerón
 
Exposicion Akelos
Exposicion AkelosExposicion Akelos
Exposicion Akelos
dokeosla
 
atSistemas - Presentación Integración Continua AUG Barcelona enero13
atSistemas - Presentación Integración Continua AUG Barcelona enero13atSistemas - Presentación Integración Continua AUG Barcelona enero13
atSistemas - Presentación Integración Continua AUG Barcelona enero13
atSistemas
 

Semelhante a Introduccion al Akelos Php Framework (20)

Rails intro
Rails introRails intro
Rails intro
 
Conferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y RailsConferencia Rails: Integracion Continua Y Rails
Conferencia Rails: Integracion Continua Y Rails
 
Ruby On Rails Intro
Ruby On Rails IntroRuby On Rails Intro
Ruby On Rails Intro
 
Grails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - SistemasGrails 2013 - PUCMM - Santiago - Sistemas
Grails 2013 - PUCMM - Santiago - Sistemas
 
Herramientas Ágiles para Desarrollo
Herramientas Ágiles para DesarrolloHerramientas Ágiles para Desarrollo
Herramientas Ágiles para Desarrollo
 
Herramientas agilesdesarrollo
Herramientas agilesdesarrolloHerramientas agilesdesarrollo
Herramientas agilesdesarrollo
 
ASP.NET MVC
ASP.NET MVCASP.NET MVC
ASP.NET MVC
 
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos AiresPresentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
Presentación Ruby on Rails en Softare Freedom Day 09 Buenos Aires
 
Capacitacion Kumbia PHP Framework
Capacitacion Kumbia PHP FrameworkCapacitacion Kumbia PHP Framework
Capacitacion Kumbia PHP Framework
 
Taller de Introducción a Ruby on Rails (2ª parte)
Taller de Introducción a Ruby on Rails (2ª parte)Taller de Introducción a Ruby on Rails (2ª parte)
Taller de Introducción a Ruby on Rails (2ª parte)
 
Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007Presentacion Ruby on Rails CTIC-Cusco2007
Presentacion Ruby on Rails CTIC-Cusco2007
 
Presentacion web2py
Presentacion web2pyPresentacion web2py
Presentacion web2py
 
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...VLCTechFest -  Simplificando Controladores: Una introducción a Action-Domain ...
VLCTechFest - Simplificando Controladores: Una introducción a Action-Domain ...
 
Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009Presentacion Ruby on Rails en Universidad Autónoma 2009
Presentacion Ruby on Rails en Universidad Autónoma 2009
 
Exposicion Akelos
Exposicion AkelosExposicion Akelos
Exposicion Akelos
 
Escalabilidad de Websites
Escalabilidad de WebsitesEscalabilidad de Websites
Escalabilidad de Websites
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
atSistemas - Presentación Integración Continua AUG Barcelona enero13
atSistemas - Presentación Integración Continua AUG Barcelona enero13atSistemas - Presentación Integración Continua AUG Barcelona enero13
atSistemas - Presentación Integración Continua AUG Barcelona enero13
 
Contribuir a Rails
Contribuir a RailsContribuir a Rails
Contribuir a Rails
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
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
FagnerLisboa3
 

Último (11)

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
 
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
 
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
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................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
 
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
 
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
 
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.
 
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...
 
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
 

Introduccion al Akelos Php Framework