Introducción a Symfony

610 views

Published on

Breve presentación sobre Symfony en el grupo Symfony Uruguay

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
610
On SlideShare
0
From Embeds
0
Number of Embeds
282
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introducción a Symfony

  1. 1. 1 1Saturday, August 31, 13
  2. 2. ¿Que es Symfony? 2 2Saturday, August 31, 13
  3. 3. ¿Que es Symfony? •Conjunto de componentes 3 3Saturday, August 31, 13
  4. 4. ¿Que es Symfony? •Conjunto de componentes •Full-stack Framework 4 4Saturday, August 31, 13
  5. 5. ¿Que es Symfony? •Conjunto de componentes •Full-stack Framework •Micro-framework 5 5Saturday, August 31, 13
  6. 6. ¿Que es Symfony? •Conjunto de componentes •Full-stack Framework •Micro-framework •Una gran comunidad 6 6Saturday, August 31, 13
  7. 7. ¿Objetivo? 7 7Saturday, August 31, 13
  8. 8. Objetivo • No reinventar la rueda 8Saturday, August 31, 13
  9. 9. Objetivo • No reinventar la rueda • Separación - MVC 9Saturday, August 31, 13
  10. 10. Objetivo • No reinventar la rueda • Separación - MVC • Calidad - TDD 10Saturday, August 31, 13
  11. 11. Objetivo • No reinventar la rueda • Separación - MVC • Calidad - TDD • Exportabilidad 11Saturday, August 31, 13
  12. 12. Objetivo • No reinventar la rueda • Separación - MVC • Calidad - TDD • Exportabilidad • Velocidad 12Saturday, August 31, 13
  13. 13. Requerimientos 13 13Saturday, August 31, 13
  14. 14. Requerimientos PHP >= 5.3.2 14 14Saturday, August 31, 13
  15. 15. PHP 5.3 Namespaces NamespaceClass 15 15Saturday, August 31, 13
  16. 16. PHP 5.3 Funciones lambda & Closures $items = array_filter( array(1, 2, 3, 4, 5), create_function('$item', 'return 4 > $item;') ); 16 16Saturday, August 31, 13
  17. 17. PHP 5.3 Funciones lambda & Closures $items = array_filter(array(1, 2, 3, 4, 5), function ($item) { return 4 > $item; }); 17 17Saturday, August 31, 13
  18. 18. Componentes 18 18Saturday, August 31, 13
  19. 19. Componentes •Librerías standalone •Implementan cierta funcionalidad •Son la base del framework 19Saturday, August 31, 13
  20. 20. Componentes BrowserKit Class loader Config Console CSS Selector Debug Dependency InjectionDependency Injection Dom Crawler Event Dispatcher Filesystem Finder Form HTTP FoundationHTTP Foundation HTTP KernelHTTP Kernel Intl Locale Options Resolver Process Property Access Routing Security Serializer Stopwatch Templating Yaml 20Saturday, August 31, 13
  21. 21. Componentes BrowserKit Class loader Config Console CSS Selector Debug Dependency InjectionDependency Injection Dom Crawler Event Dispatcher Filesystem Finder Form HTTP FoundationHTTP Foundation HTTP KernelHTTP Kernel Intl Locale Options Resolver Process Property Access Routing Security Serializer Stopwatch Templating Yaml 21Saturday, August 31, 13
  22. 22. Full-stack Framework 22 22Saturday, August 31, 13
  23. 23. ├── app │ ├── Resources │ ├── cache │ ├── config │ ├── logs │ └── AppKernel.php ├── src │ └── Acme ├── vendor └── web ├── bundles ├── css ├── images └── js Estructura de archivos por defecto. El proyecto 23 23Saturday, August 31, 13
  24. 24. ├── app │ ├── Resources │ ├── cache │ ├── config │ ├── logs │ └── AppKernel.php ├── src │ └── Acme ├── vendor └── web ├── bundles ├── css ├── images └── js Contiene los archivos inician la ejecución de la aplicación, configuraciones, archivos de cache y recursos. La aplicación 24 24Saturday, August 31, 13
  25. 25. ├── app │ ├── Resources │ ├── cache │ ├── config │ ├── logs │ └── AppKernel.php ├── src │ └── Acme ├── vendor └── web ├── bundles ├── css ├── images └── js Aquí se ubican los paquetes(bundles) y librerías comunes a todas las aplicaciones del proyecto Librerías del proyecto 25 25Saturday, August 31, 13
  26. 26. ├── app │ ├── Resources │ ├── cache │ ├── config │ ├── logs │ └── AppKernel.php ├── src │ └── Acme ├── vendor └── web ├── bundles ├── css ├── images └── js •Librerías standalone. •No específicas del proyecto •Symfony! Librerías de terceros 26 26Saturday, August 31, 13
  27. 27. ├── app │ ├── Resources │ ├── cache │ ├── config │ ├── logs │ └── AppKernel.php ├── src │ └── Acme ├── vendor └── web ├── bundles ├── css ├── images └── js •Único directorio público del proyecto •Front controllers •Assets •Uploads Document root 27 27Saturday, August 31, 13
  28. 28. • Implementación de una funcionalidad específica • Paquete exclusivo para uso en proyectos symfony. • Permite empaquetar funcionalidades • Integra librerías externas Bundles 28 28Saturday, August 31, 13
  29. 29. ├── AcmeDemoBundle.php ├── Controller │ ├── DemoController.php ├── DependencyInjection │ └── AcmeDemoExtension.php ├── Entity ├── Resources │ ├── config │ ├── public │ └── views │ └── Demo │ └── index.html.twig └── Tests Estructura de archivos por defecto. Bundles 29 29Saturday, August 31, 13
  30. 30. ├── AcmeDemoBundle.php ├── Controller │ ├── DemoController.php ├── DependencyInjection │ └── AcmeDemoExtension.php ├── Entity ├── Resources │ ├── config │ ├── public │ └── views │ └── Demo │ └── index.html.twig └── Tests Cotroladores. Es donde se encuentra la lógica de nuestro paquete. Bundles 30 30Saturday, August 31, 13
  31. 31. ├── AcmeDemoBundle.php ├── Controller │ ├── DemoController.php ├── DependencyInjection │ └── AcmeDemoExtension.php ├── Entity ├── Resources │ ├── config │ ├── public │ └── views │ └── Demo │ └── index.html.twig └── Tests Es donde se procesa la configuración de nuestro paquete. Bundles 31 31Saturday, August 31, 13
  32. 32. ├── AcmeDemoBundle.php ├── Controller │ ├── DemoController.php ├── DependencyInjection │ └── AcmeDemoExtension.php ├── Entity ├── Resources │ ├── config │ ├── public │ └── views │ └── Demo │ └── index.html.twig └── Tests •El modelo •Interacción con la base de datos. Bundles 32 32Saturday, August 31, 13
  33. 33. ├── AcmeDemoBundle.php ├── Controller │ ├── DemoController.php ├── DependencyInjection │ └── AcmeDemoExtension.php ├── Entity ├── Resources │ ├── config │ ├── public │ └── views │ └── Demo │ └── index.html.twig └── Tests Recursos del paquete tales como la configuración de servicios, archivos públicos y templates. Bundles 33 33Saturday, August 31, 13
  34. 34. ├── AcmeDemoBundle.php ├── Controller │ ├── DemoController.php ├── DependencyInjection │ └── AcmeDemoExtension.php ├── Entity ├── Resources │ ├── config │ ├── public │ └── views │ └── Demo │ └── index.html.twig └── Tests Test cases para las distintas funcionalidades de nuestro paquete. Bundles 34 34Saturday, August 31, 13
  35. 35. Bundles src/VendorName/MyBundle 35 35Saturday, August 31, 13
  36. 36. Micro Framework 36 36Saturday, August 31, 13
  37. 37. Micro Framework 37 Silex Cilex 37Saturday, August 31, 13
  38. 38. Micro Framework 38 Silex 38Saturday, August 31, 13
  39. 39. ¿Quién lo usa? 39 39Saturday, August 31, 13
  40. 40. ¿Preguntas? 40 40Saturday, August 31, 13
  41. 41. ¡Gracias! 41 41Saturday, August 31, 13

×