introduccion al akelos php framework

54
Introducción al Akelos PHP Framework Bermi Ferrer

Upload: bermi-ferrer

Post on 04-Jul-2015

6.930 views

Category:

Technology


0 download

DESCRIPTION

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

TRANSCRIPT

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