Symfony es un framework PHP publicado por SensioLabs en 2005. La versión LTS vigente es Symfony 6.4 (noviembre de 2023, con soporte hasta noviembre de 2027).
Sus componentes (HttpFoundation, Console, Routing) son la base de proyectos como Drupal, Laravel y phpBB.
Symfony frente a Laravel
Cuando aparece un proyecto PHP custom sobre la mesa, la pregunta rara vez es “¿elegimos Symfony?”. Casi siempre es “¿Symfony o Laravel?”.
Laravel ha ganado cuota de mercado por dos motivos: su curva de entrada es más suave y el tiempo para montar un prototipo es más corto.
Symfony mantiene su sitio en proyectos que necesitan:
- Vivir muchos años con bajo coste de mantenimiento.
- Código testeable a fondo.
- Compatibilidad estricta con los estándares PHP-FIG (PSR).
La granularidad es la diferencia más clara. Symfony se compone de unos 50 paquetes independientes, y cada uno hace una cosa bien (Validator, Form, Security, Messenger).
Cualquier proyecto puede coger solo los tres que necesita sin arrastrar el framework completo. En Laravel eso cuesta más, porque está más acoplado al núcleo.
Lo que cuesta tomarse en serio
Symfony pide más decisiones explícitas al desarrollador: estructura de directorios, gestión de servicios, eventos. Por eso un proyecto pequeño tarda más en arrancar.
El retorno aparece a los seis meses:
- La base de código sigue siendo legible cuando se le añaden módulos nuevos.
- El contenedor de servicios documenta solo qué depende de qué.
- Las versiones LTS dan cuatro años de actualizaciones de seguridad sin sustos.
Cómo lo aplicamos en SMedialab
Lo elegimos para APIs internas custom, donde la lógica de negocio es demasiado específica para encajar en un CMS. También para portales con varios roles, permisos finos y auditoría exigente.
No lo recomendamos en webs corporativas pequeñas ni landings. Para eso WordPress o Astro entregan en una semana lo que en Symfony serían tres.
Tampoco lo elegimos cuando el cliente busca un dashboard rápido tipo CRUD. Ahí Filament sobre Laravel suele ganar.
Casos típicos en nuestros clientes
Un operador turístico con sistema propio de reservas necesitaba una API. Tenía que orquestar su catálogo, los precios variables por temporada y la integración con dos motores de pago.
La construimos sobre Symfony 6.4 y Doctrine ORM, con tests funcionales en cada endpoint. Dos años después, la pila sigue actualizada con composer update rutinario y sin reescrituras.
Un despacho profesional necesitaba un portal de clientes con auditoría legal de cada acceso. Aquí el módulo Security y el Messenger (cola de tareas asíncronas) fueron las piezas clave. Nos evitaron montar Redis Queue y workers a mano.
¿Tu lógica de negocio se sale de un CMS estándar? Lo evaluamos en diseño web a medida, con análisis de adecuación entre Symfony, Laravel y CMS.