Introduccion al Akelos Php Framework

54
Introducción al Akelos PHP Framework Bermi Ferrer

description

Presentación del Akelos PHP Framework en la primera PHP Conference celebrada en Barcelona el 23 de Febrero de 2008.

Transcript of Introduccion al Akelos Php Framework

Page 1: Introduccion al Akelos Php Framework

Introducción al Akelos PHP Framework

Bermi Ferrer

Page 2: Introduccion al Akelos Php Framework

…en esta presentación

• Introducción

• Componentes disponibles

• Anatomía de una aplicación Akelos

• Ronda de preguntas

Page 3: Introduccion al Akelos Php Framework
Page 4: Introduccion al Akelos Php Framework

Modelo Vista Controlador

Page 5: Introduccion al Akelos Php Framework

Controlador

Page 6: Introduccion al Akelos Php Framework

Controlador

• Actúa ante peticiones de usuarios para crear, mostrar, actualizar o borrar un objeto (Ej. Post)

Page 7: Introduccion al Akelos Php Framework

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.

Page 8: Introduccion al Akelos Php Framework
Page 9: Introduccion al Akelos Php Framework

Modelo

Page 10: Introduccion al Akelos Php Framework

Modelo

• Implementa las normas del negocio mediante clases como Usuario, Comentario, Proyecto

Page 11: Introduccion al Akelos Php Framework

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.

Page 12: Introduccion al Akelos Php Framework

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

Page 13: Introduccion al Akelos Php Framework

app/models/post.php

Page 14: Introduccion al Akelos Php Framework

Vista

Page 15: Introduccion al Akelos Php Framework

Vista

• Representación de los modelos en HTML

Page 16: Introduccion al Akelos Php Framework

Vista

• Representación de los modelos en HTML

• Lógica avanzada dentro de helpers

Page 17: Introduccion al Akelos Php Framework

Vista

• Representación de los modelos en HTML

• Lógica avanzada dentro de helpers

• Sintags como lenguaje de plantillas o PHP seguro.

Page 18: Introduccion al Akelos Php Framework

Flujo de peticiones

Navegador

/posts/show/3

1) Petición

2) Dirige hacia

Router

Dispatcher

3) Crea

Action Controller

5b) Redirige

Active RecordActive RecordActive Record4) CRUD

/index.php?controler=posts& action=show&id=3

Action View

6) Respuesta

5a) Render

1. Configuración2. Instanciar controlador.

Page 19: Introduccion al Akelos Php Framework

AkActionController

Page 20: Introduccion al Akelos Php Framework

AkActionController

• Acciones agrupadas en el controladorLas acciones son métodos y no objetos, métodos auxiliares (helpers) compartidos.

Page 21: Introduccion al Akelos Php Framework

AkActionController

• Acciones agrupadas en el controladorLas acciones son métodos y no objetos, métodos auxiliares (helpers) compartidos.

• ProcesoAsignaciones y HTTP Status headers.

Page 22: Introduccion al Akelos Php Framework

AkActionController

• Acciones agrupadas en el controladorLas acciones son métodos y no objetos, métodos auxiliares (helpers) compartidos.

• ProcesoAsignaciones y HTTP Status headers.

• RedirecciónUrl, ruta, accion, controlador

Page 23: Introduccion al Akelos Php Framework

AkActionController

• Acciones agrupadas en el controladorLas acciones son métodos y no objetos, métodos auxiliares (helpers) compartidos.

• ProcesoAsignaciones y HTTP Status headers.

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

• FiltrosCadena de proceso, separación de responsabilidades.- Antes: Autentificación, Caché, Auditorías- Después: Compresión de la salida

Page 24: Introduccion al Akelos Php Framework

AkActiveRecord

Page 25: Introduccion al Akelos Php Framework

AkActiveRecord

• Mapeado (DRY)Create, Read, Update, Destroy.

Page 26: Introduccion al Akelos Php Framework

AkActiveRecord

• Mapeado (DRY)Create, Read, Update, Destroy.

• AsociacionesCardinalidad, Conveniencia, Cache.

Page 27: Introduccion al Akelos Php Framework

AkActiveRecord

• Mapeado (DRY)Create, Read, Update, Destroy.

• AsociacionesCardinalidad, Conveniencia, Cache.

• ValidacionesBasadas en atributos, save/create/update.

Page 28: Introduccion al Akelos Php Framework

AkActiveRecord

• Mapeado (DRY)Create, Read, Update, Destroy.

• AsociacionesCardinalidad, Conveniencia, Cache.

• ValidacionesBasadas en atributos, save/create/update.

• CallbacksObserver, ciclo de vida completo.

Page 29: Introduccion al Akelos Php Framework

AkActiveRecord

• Mapeado (DRY)Create, Read, Update, Destroy.

• AsociacionesCardinalidad, Conveniencia, Cache.

• ValidacionesBasadas en atributos, save/create/update.

• CallbacksObserver, ciclo de vida completo.

• ComportamientosVersioned, NestedSet,Tree, List.

Page 30: Introduccion al Akelos Php Framework

AkActionView

Page 31: Introduccion al Akelos Php Framework

AkActionView

• PHP limitadoPHP directamente en las vistas

Page 32: Introduccion al Akelos Php Framework

AkActionView

• PHP limitadoPHP directamente en las vistas

• Template LanguagesSintags, Smarty …

Page 33: Introduccion al Akelos Php Framework

Sintags

Page 34: Introduccion al Akelos Php Framework

Sintags

PHP

Page 35: Introduccion al Akelos Php Framework

Sintags

PHP

Page 36: Introduccion al Akelos Php Framework

Sintags

PHP

Page 37: Introduccion al Akelos Php Framework

Sintags

PHP

Page 38: Introduccion al Akelos Php Framework

Sintags

PHP

Page 39: Introduccion al Akelos Php Framework

Sintags

PHP

Page 40: Introduccion al Akelos Php Framework

AkActionView

• PHP limitadoPHP directamente en las vistas

• Template LanguagesSintags, Smarty …

• AsignacionesVariables de instancias compartidas

Page 41: Introduccion al Akelos Php Framework

AkActionView

• PHP limitadoPHP directamente en las vistas

• Template LanguagesSintags, Smarty …

• AsignacionesVariables de instancias compartidas

• Helpers• Render de modelos fáciles

• Formularios: campos texto, selects…

• Textile, Markdown, UTF-8, Sanitize

• AJAX

Page 42: Introduccion al Akelos Php Framework

Filosofía Akelos

Page 43: Introduccion al Akelos Php Framework

Filosofía Akelos

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

Page 44: Introduccion al Akelos Php Framework

Filosofía Akelos

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

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

Page 45: Introduccion al Akelos Php Framework

Filosofía Akelos

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

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

• Invitación a las buenas prácticasEsqueleto de tests unitarios y de integración generados automáticamente.

Page 46: Introduccion al Akelos Php Framework

¿Diferencias con Rails?

Page 47: Introduccion al Akelos Php Framework

¿Diferencias con Rails?

• PHP vs. Ruby

Page 48: Introduccion al Akelos Php Framework

¿Diferencias con Rails?

• PHP vs. Ruby

• Drag & Drop vs. Deployment

Page 49: Introduccion al Akelos Php Framework

¿Diferencias con Rails?

• PHP vs. Ruby

• Drag & Drop vs. Deployment

• i18n integrada vs. Plugin

Page 50: Introduccion al Akelos Php Framework

¿Diferencias con Rails?

• PHP vs. Ruby

• Drag & Drop vs. Deployment

• i18n integrada vs. Plugin

• Demasiadas alternativas vs. Rey en solitario

Page 51: Introduccion al Akelos Php Framework

¿Direfencias con otros frameworks en PHP?

http://fon.gs/php_on_rails

Realizado porTomasz Piotrowski & Mateusz Wozniak

Nicolaus Copernicus University - Poland

Page 52: Introduccion al Akelos Php Framework

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)

Page 53: Introduccion al Akelos Php Framework

¿Preguntas?

Page 54: Introduccion al Akelos Php Framework

Gracias

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

http://phpbarcelona.org

SmallSquid