Diapositivas sobre la charla de symfony2 que impartí el 5 de Marzo de 2014, en las charlas organizadas por #DevBurgos (http://devburgos.wordpress.com/).
2. #DevBurgos
Presentación
Esther Ibáñez Gónzález
• Ingeniera en informática en la UBU
• Organización de diferentes eventos (Enredada, Semana
informática UBU)
• He trabajado en CodeGarden (Alemania – VB.Net),
Bridgestone Hispania (VB.Net), Universidad de Burgos
(CakePHP).
• Ahora mismo: DBP – Distribuidora Burgalesa de
Papelería (http://www.dbponline.com) – Symfony2/PHP
legacy/VB.Net/Java
2
3. #DevBurgos
¿Qué es symfony?
Modelo Request-Response
Un Framework full-stack. Un conjunto de librerías
autónomas, desacopladas y complementarias que
resuelven problemas comunes del desarrollo web.
¿MVC?
3
4. #DevBurgos
¿Usar un framework?
¿Por qué un Framework?
• Estructurado
• Mantenimble
• Actualizable
• Indice de calidad
¿Por qué Symfony?
• TDD
• Flexible
•Seguro
• Soporte
• Comunidad
“Build your App, not your Tools”
4
5. #DevBurgos
Flow
Symfony maneja cada Request
•Cada página se define en un fichero routing que envía
cada petición a un controlador diferente. Este devuelve
una Response.
5
6. #DevBurgos
Componentes
Librerias usadas en cualquier proyecto
• HttpFoundation
• Routing
• Form
• Validator
• ClassLoader
• Templating
• Security
• Translation
Symfony2 es una librería PHP que cumple dos tareas:
• Aportar una selección de componentes propios y de terceros
• Mediante una configuración sencilla y una pequeña librería para juntar todo.
6
7. #DevBurgos
Sistema bundle
In Symfony2, bundles are first-class citizens that are so
flexible that even core code itself is a bundle
• Todas las aplicaciones que construyamos estarán dentro
de un bundle.
• Nomenclatura nombre: AcmeHelloBundle
• Directorios:
7
8. #DevBurgos
Entornos
Una app se puede ejecutar en
diferentes entornos
• Dev: http://localhost/app_dev.php/hello/Ryan
• Prod: http://localhost/app.php/hello/Ryan
Producción optimizado para velocidad => enrutamiento,
plantillas, configuración se compilan en clases PHP y se
cachean.
Si cambias la vista:
$ php app/console cache:clear --env=prod --no-debug
8
12. #DevBurgos
Symfony2 y MongoDB
Symfony &
• Aún no lo he probado, pero aquí tenéis enlaces para
hacerlo:
• Slides: http://www.slideshare.net/pgodel/symfony2-andmongodb y Video: http://youtu.be/aXhI9XS06Tw
• Bundle:
http://symfony.com/doc/current/bundles/DoctrineMongo
DBBundle/index.html
12