Introduccion al Akelos Php Framework

7,304 views

Published on

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

Published in: Technology
1 Comment
6 Likes
Statistics
Notes
  • 98658998628910 98628910986289109862891098628910
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
7,304
On SlideShare
0
From Embeds
0
Number of Embeds
1,141
Actions
Shares
0
Downloads
212
Comments
1
Likes
6
Embeds 0
No embeds

No notes for slide

Introduccion al Akelos Php Framework

  1. 1. Introducción al Akelos PHP Framework Bermi Ferrer
  2. 2. …en esta presentación • Introducción • Componentes disponibles • Anatomía de una aplicación Akelos • Ronda de preguntas
  3. 3. Modelo Vista Controlador
  4. 4. Controlador
  5. 5. Controlador • Actúa ante peticiones de usuarios para crear, mostrar, actualizar o borrar un objeto (Ej. Post)
  6. 6. 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.
  7. 7. Modelo
  8. 8. Modelo • Implementa las normas del negocio mediante clases como Usuario, Comentario, Proyecto
  9. 9. 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.
  10. 10. 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
  11. 11. app/models/post.php
  12. 12. Vista
  13. 13. Vista • Representación de los modelos en HTML
  14. 14. Vista • Representación de los modelos en HTML • Lógica avanzada dentro de helpers
  15. 15. Vista • Representación de los modelos en HTML • Lógica avanzada dentro de helpers • Sintags como lenguaje de plantillas o PHP seguro.
  16. 16. 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
  17. 17. AkActionController
  18. 18. AkActionController • Acciones agrupadas en el controlador Las acciones son métodos y no objetos, métodos auxiliares (helpers) compartidos.
  19. 19. 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.
  20. 20. 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
  21. 21. 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
  22. 22. AkActiveRecord
  23. 23. AkActiveRecord • Mapeado (DRY) Create, Read, Update, Destroy.
  24. 24. AkActiveRecord • Mapeado (DRY) Create, Read, Update, Destroy. • Asociaciones Cardinalidad, Conveniencia, Cache.
  25. 25. AkActiveRecord • Mapeado (DRY) Create, Read, Update, Destroy. • Asociaciones Cardinalidad, Conveniencia, Cache. • Validaciones Basadas en atributos, save/create/update.
  26. 26. AkActiveRecord • Mapeado (DRY) Create, Read, Update, Destroy. • Asociaciones Cardinalidad, Conveniencia, Cache. • Validaciones Basadas en atributos, save/create/update. • Callbacks Observer, ciclo de vida completo.
  27. 27. 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.
  28. 28. AkActionView
  29. 29. AkActionView • PHP limitado PHP directamente en las vistas
  30. 30. AkActionView • PHP limitado PHP directamente en las vistas • Template Languages Sintags, Smarty …
  31. 31. Sintags
  32. 32. Sintags PHP
  33. 33. Sintags PHP
  34. 34. Sintags PHP
  35. 35. Sintags PHP
  36. 36. Sintags PHP
  37. 37. Sintags PHP
  38. 38. AkActionView • PHP limitado PHP directamente en las vistas • Template Languages Sintags, Smarty … • Asignaciones Variables de instancias compartidas
  39. 39. 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
  40. 40. Filosofía Akelos
  41. 41. Filosofía Akelos • Convenciones antes que configuraciones Configuración mínima, mucha reflexión y valores predeterminados de calidad.
  42. 42. 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.
  43. 43. 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.
  44. 44. ¿Diferencias con Rails?
  45. 45. ¿Diferencias con Rails? • PHP vs. Ruby
  46. 46. ¿Diferencias con Rails? • PHP vs. Ruby • Drag & Drop vs. Deployment
  47. 47. ¿Diferencias con Rails? • PHP vs. Ruby • Drag & Drop vs. Deployment • i18n integrada vs. Plugin
  48. 48. ¿Diferencias con Rails? • PHP vs. Ruby • Drag & Drop vs. Deployment • i18n integrada vs. Plugin • Demasiadas alternativas vs. Rey en solitario
  49. 49. ¿Direfencias con otros frameworks en PHP? Realizado por Tomasz Piotrowski & Mateusz Wozniak Nicolaus Copernicus University - Poland http://fon.gs/php_on_rails
  50. 50. 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)
  51. 51. ¿Preguntas?
  52. 52. Gracias SmallSquid Presentación disponible en la web del grupo de usuarios de PHP de Barcelona. http://phpbarcelona.org

×