symfony

Recursos de programación de symfony
Haremos un repaso exhaustivo de todas las características de Twig, veremos por qué es el mejor sistema de plantillas que existe para PHP e incluso explicaremos cómo usarlo a fondo en Symfony2 y en proyectos PHP independientes.
Symfony2 empieza a acaparar toda la atención del mundo Symfony, pero las aplicaciones desarrolladas con Symfony 1 seguirán por mucho tiempo. Por eso es imprescindible saber optimizar al máximo nuestro viejo amigo Symfony 1.4. Entre otros, se tratará el uso de cachés con Doctrine y con Symfony (memcached, sfFile, Redis, APC), las estrategias de hidratación de resultados con Doctrine 1.2, los Doctrine Behaviors y las estrategias de reutilización de código, los tipos de logs, el manejo de sesiones en base de datos y las configuraciones globales.
Silex es un microframework que aprovecha el diseño modular de Symfony2 para dar una alternativa adaptada a proyectos más pequeños. Descubriremos qué es, para qué sirve y cuándo utilizarlo. Explicaremos los conceptos clave, cómo empezar nuestra aplicación Silex y veremos varios ejemplos prácticos.
Daremos un repaso a las opciones para crear aplicaciones web para dispositivos móviles como Iphone, iPad, Android. Luego mostraremos una aplicacion desarrollada con Symfony2.
Ofertix.com ha crecido hasta convertirse en un proyecto que actualmente da servicio a una base de datos de casi 3 millones de usuarios con un equipo de menos de 10 personas y menos de 20 servidores. Durante esta sesión expondremos técnicas implementadas en el proyecto, en el proyecto, su arquitectura y el sistema de deploy de código.
Durante el primer día se programará en directo una aplicación completa con Symfony2. En la última sesión se mostrarán las técnicas más eficaces para optimizar la aplicación a todos los niveles. Se mostrará el uso de Assetic para mejorar el rendimiento del frontend minimizando y comprimiendo las hojas de estilo y los archivos JavaScript. Por último, se incluirán pruebas unitarias y funcionales en la aplicación.
El objetivo de esta charla es profundizar en el motor de formularios de Symfony2 y aprender a aplicar las numerosas features que nos ofrece. Se asume que los asistentes poseen conocimientos básicos de la estructura de los formularios y su organización. Se expondrán una serie de casos de uso reales donde dichas features cubrirán nuestras necesidades de personalización de los formularios: * Objetos de dominio para moldear formularios personalizados * Eventos en los formularios: PRE_BIND, POST_BIND, PRE_SET_DATA * Uso de Subscribers para la gestion de los eventos * Formularios con colecciones prototipadas * Validación de formularios mediante Callbacks
Tocaremos algunos de los Bundles de uso más común en Symfony2. Ya existen herramientas para facilitarte la gestión de usuarios, manipulación de imágenes e incluso el panel de administración, entre otros, así que vente al lado oscuro, tus plugins más usados de symfony 1.x ya existen en Symfony2.
El rendimiento de las bases de datos es cada vez más importante, debido a que necesitamos almacenar cada vez más información. Es por esto por lo que el movimiento NoSQL está creciendo mucho, ofreciendo diferentes soluciones. MongoDB es una de las bases de datos más destacadas en el movimiento NoSQL, y esto es debido a su filosofía: ser simple, potente y rápido, realmente rápido. De hecho últimamente estamos viendo cómo cada vez más grandes aplicaciones están migrando a MongoDB, consiguiendo resultados increíbles comparados con las bases de datos tradicionales. Por lo tanto queremos usar MongoDB en nuestro próximo proyecto, y como nos gustan las buenas prácticas queremos hacerlo con un object mapper. Sin embargo estamos algo dubitativos debido a que los objet mappers son una de las partes más lentas de las aplicaciones, y de hecho si no tenemos cuidado lo será. Mandango es un object mapper para PHP y MongoDB que tiene la misma filosofía que éste último: ser simple, potente y rápido, realmente rápido. De hecho Mandango es el object mapper más rápido en PHP con diferencia. Mandango es también realmente potente, soportando todas las funcionalidades de MongoDB: embebidos, referencias, índices, GridFS, e incluso añadiendo otras realmente buenas: unit of work, queries orientadas a objetos, eventos, extensiones, logging, behaviors. Además Mandango sigue las mejores prácticas, tales como Dependency Injection y Unit Testing. Mandango se está acercando a su primera versión estable, y por supuesto está integrado con Symfony2 ;)
Durante el primer día se programará en directo una aplicación completa con Symfony2. En la tercera sesión se crearán la mayoría de páginas de la aplicación. Para ello se hará uso de Twig, el nuevo sistema de plantillas de Symfony2.