Symfony: construyendo aplicaciones web

2,583 views

Published on

charla sobre el framework symfony, para la construcción de aplicaciones web en php

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,583
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
54
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Symfony: construyendo aplicaciones web

  1. 1. construyendo aplicaciones web
  2. 2. Antes de comenzar <ul><li>Acerca de mi </li></ul><ul><ul><li>Egresado de la casa
  3. 3. Miembro de la comunidad Misiones Software Libre
  4. 4. +4 manejando GNU/Linux
  5. 5. +3 desarrollador activo
  6. 6. +2 experiencia en symfony </li></ul></ul><ul><li>Acerca de ALYSSA </li></ul><ul><ul><li>Empresa dedicada a desarrollar y ofrecer soluciones TIC
  7. 7. +1.5 tiempo de vida
  8. 8. +2 clientes activos (desarrollos a medida) </li></ul></ul>
  9. 9. Agenda <ul><li>El porqué usar un framework
  10. 10. Symfony: un framework para php
  11. 11. El patrón MVC en symfony
  12. 12. El comando “symfony”
  13. 13. Errores & Depuración
  14. 14. Desarrollo Rápido de Aplicaciones
  15. 15. Demostración
  16. 16. Ayuda & Documentación disponible </li></ul>
  17. 17. El porqué usar un framework <ul><li>Acelera el desarrollo de aplicaciones
  18. 18. Automatiza el uso de patrones comunmente empleados
  19. 19. Agrega una estructura estándar al código
  20. 20. Fomenta código más seguro y mantenible
  21. 21. Integra diversas herramientas
  22. 22. No hay necesidad de reinventar la rueda </li></ul>...hace la vida del desarrollador mas fácil :-)
  23. 23. Symfony: un framework para php <ul><li>Escrito en PHP y compatible con versiones 5.x
  24. 24. Independiente de la plataforma
  25. 25. Desarrollado por la empresa sensio desde el 1998
  26. 26. Una comunidad creciente desde su liberación en el 2005
  27. 27. Es open source , bajo licencia MIT </li></ul>
  28. 28. Symfony: un framework para php Por defecto, cuenta con una inmensa cantidad de funcionalidades: <ul><li>Construir usando el patrón MVC
  29. 29. Altamente configurable (mediante archivos YAML)
  30. 30. Generación automática del modelo de clases
  31. 31. Generadores de código( admin generators ), formularios, widgets y validadores
  32. 32. Abstraccion de las bases de datos mediante PDO
  33. 33. ORM, con un lenguaje de consulta estandar (sin necesidad de SQL)
  34. 34. Soporta TDD (con pruebas unitarias y funcionales)
  35. 35. Multiples ambiente de trabajo (entornos prod , dev , test )
  36. 36. Seguridad por defecto ( cross site scripting , SQL inyection )
  37. 37. Administracion del proyecto mediante tareas en consola de comandos
  38. 38. Extensible mediante un sistema de plugins
  39. 39. I18n, l10n, sistema de routing , cache </li></ul>...continuación
  40. 40. El patrón MVC en symfony <ul><li>Flujo peticion/respuesta </li></ul><ul><li>Estructura de archivos </li></ul>
  41. 41. El comando “symfony” <ul><li>Nos permite administrar el proyecto en el que estemos trabajando.
  42. 42. Es parte fundamental del “workflow” de activiades de symfony: </li></ul><ul><ul><li>Unifica las “formas” de realizar una tarea
  43. 43. Permite automatizar actividades repetitivas
  44. 44. Flexibilidad para agregar tareas nuevas </li></ul></ul><ul><ul><li>Genera una dependencia a la consola de comandos (CLI) </li></ul></ul>
  45. 45. Errores & Depuración <ul><li>Mensajes de error y traza detallados. </li></ul>
  46. 46. Errores & Depuración <ul><li>Barra de depuración integrada
  47. 47. Registro y seguimiento en archivos de log </li></ul>...continuación
  48. 48. Desarrollo Rápido de Aplicaciones <ul><li>Generación del proyecto y aplicación(es)
  49. 49. Configuración de la conexión a la db </li></ul># configurando el archivo /config/databases.yml prod: doctrine: param: dsn: pgsql:host=localhost;dbname=db1 username: user password: pass123 # comando en la CLI $ php symfony configure: database &quot;pgsql://user:pass123@localhost/db1&quot;
  50. 50. Desarrollo Rápido de Aplicaciones <ul><li>Definición del esquema de datos </li></ul># configurando el archivo /config/doctrine/schema.yml Autor: columns: nombre: { type: string(10), notnull: true } Articulo: columns: titulo: { type: string(200), notnull: true } descripcion: { type: string, notnull: true } autor_id: { type: integer, notnull: true } relations: Autor: { local: autor_id, foreign: id, foreignAlias: Articulos } # importando desde la db, usando el comando en la CLI $ php symfony doctrine:build-schema ...continuación
  51. 51. Desarrollo Rápido de Aplicaciones <ul><li>Opcionalmente, generar datos de prueba </li></ul>...continuación # configurando el archivo /data/fixtures.yml Autor: autor_01: nombre: Sergio Articulo: tutorial_01: titulo: Primeros pasos con symfony descripcion: una guía que describe como utilizar symfony Autor: autor_01
  52. 52. Desarrollo Rápido de Aplicaciones <ul><li>Generación de los elementos configurados </li></ul>...continuación # comando en la CLI $ php symfony doctrine:build --all --and-load <ul><li>Genera el modelo de clases
  53. 53. Convierte el schema a sentencias SQL
  54. 54. Recrea la base de datos y las tablas
  55. 55. Carga los datos de prueba </li></ul>
  56. 56. Desarrollo Rápido de Aplicaciones <ul><li>Generación de un módulo tipo admin-generator </li></ul>...continuación # comando en la CLI $ php symfony doctrine:generate-admin administracion Articulo <ul><li>Genera un modulo para la clase Articulo
  57. 57. Realiza actividades tipo ABM de artículos
  58. 58. Permite filtrar y listar artículos </li></ul>
  59. 59. Demostración
  60. 60. Ayuda & Documentación disponibles <ul><li>Libros disponibles online </li></ul><ul><ul><li>http://www.symfony-project.org/doc/1_4/ </li></ul></ul><ul><li>Comunidad de usuarios </li></ul><ul><ul><li>http://www.symfony.es/
  61. 61. http://groups.google.com/group/symfony-es
  62. 62. http://groups.google.com/group/symfony-users </li></ul></ul><ul><li>Muchos plugins disponibles :-) </li></ul><ul><ul><li>http://www.symfony-project.org/plugins </li></ul></ul>
  63. 63. Preguntas & Respuestas Sergio Fabián Vier [email_address] Cooperativa de Trabajo Alyssa Limitada http://www.alyssa-it.com

×