Symfony es, posiblemente, el framework PHP más popular y utilizado actualmente, junto con Laravel, del que ya hablamos en otro artículo anterior. Es, además, utilizado por grandes proyectos, y tiene una enorme Comunidad detrás. Conozcámoslo un poco más.
Lo primero que debemos decir es que Symfony es, al mismo tiempo, un conjunto de componentes reutilizables y un framework de desarrollo web basado en el paradigma MVC. Esta versatilidad hace que otros grandes proyectos del ecosistema PHP utilicen componentes desarrollados para Symfony. Algunos ejemplos son Laravel, Drupal, phpBB, Joomla!, Magento o Composer.
Para encontrar el origen de Symfony, debemos remontarnos al año 2003. PHP 5 estaba en fase beta, y el panorama de frameworks PHP para desarrollo de aplicaciones web complejas no era ni remotamente parecido al actual.
Ello motivó a que Fabien Potencier, co-fundador de la francesa SensioLabs, tuviera que crear de cero su propio framework, para hacer frente a algunos de los proyectos de su empresa.
Dicho y hecho, al cabo de un año la primera versión oficial de PHP 5 estaba lista, y la primera versión de lo que hoy es Symfony, también veía la luz por primera vez. Fabien aprovechó las novedades de PHP 5, y basó su desarrollo en el patrón MVC, el ORM Propel y el sistema de plantillas de Ruby on Rails. Como todo gran proyecto de software libre, hereda buenas ideas de otros proyectos ya existentes.
La primera versión estable de Symfony apareció en octubre de 2005, tras haber sido utilizado con éxito en varios proyectos. Su primer nombre fue Sensio Framework, y todas las clases tenían el prefijo «sf» en sus nombres. Y no fue hasta 2007 cuando recibió su nombre actual, Symfony, aprovechando la salida oficial de la versión 1.0, y reaprovechando el prefijo «sf» para el nombre. A partir de ese momento, el proyecto tomó entidad propia, y al patrocinio de SensioLabs se unieron cientos de colaboradores por todo el mundo.
La versión 2.0 se liberó en julio de 2011, y supuso un punto disruptivo, al basar su funcionamiento en las nuevas funcionalidades de PHP 5.3, de las que ya hablamos en el artículo de Laravel. A partir de ese momento, todas las versiones de Symfony hasta la actual, la 3.1, han mantenido la retrocompatibilidad con dicha versión de PHP.
Entre las características más atractivas de Symfony se encuentran su versatilidad, debido a su diseño basado en componentes reutilizables, su bajo consumo de memoria, su gran rendimiento y su estabilidad y sostenibilidad, lo que lo hacen perfecto para grandes aplicaciones empresariales. Además, la adopción de buenas prácticas de diseño de software y su extensa documentación hacen que sea una opción muy popular entre desarrolladores. Incluso existe una certificación oficial ofrecida por SensioLabs, y una guía de autoestudio para preparar el examen.
Si nos tomamos el desarrollo con PHP en serio, Symfony será uno de nuestros mejores aliados, sin lugar a dudas.