introduccion al akelos php framework

Post on 04-Jul-2015

6.930 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

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.

AkActionController

AkActionController

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

AkActionController

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

• ProcesoAsignaciones y HTTP Status headers.

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

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

AkActiveRecord

AkActiveRecord

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

AkActiveRecord

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

• AsociacionesCardinalidad, Conveniencia, Cache.

AkActiveRecord

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

• AsociacionesCardinalidad, Conveniencia, Cache.

• ValidacionesBasadas en atributos, save/create/update.

AkActiveRecord

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

• AsociacionesCardinalidad, Conveniencia, Cache.

• ValidacionesBasadas en atributos, save/create/update.

• CallbacksObserver, ciclo de vida completo.

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.

AkActionView

AkActionView

• PHP limitadoPHP directamente en las vistas

AkActionView

• PHP limitadoPHP directamente en las vistas

• Template LanguagesSintags, Smarty …

Sintags

Sintags

PHP

Sintags

PHP

Sintags

PHP

Sintags

PHP

Sintags

PHP

Sintags

PHP

AkActionView

• PHP limitadoPHP directamente en las vistas

• Template LanguagesSintags, Smarty …

• AsignacionesVariables de instancias compartidas

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

Filosofía Akelos

Filosofía Akelos

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

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.

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.

¿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?

http://fon.gs/php_on_rails

Realizado porTomasz Piotrowski & Mateusz Wozniak

Nicolaus Copernicus University - Poland

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

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

http://phpbarcelona.org

SmallSquid

top related