Symfony es un framework muy completo, que está diseñado para optimizar el desarrollo de aplicaciones web. Este framework separa la lógica del negocio, la lógica del servidor y la presentación de la aplicación web. También mediante el uso de varias herramientas reduce el tiempo de desarrollo de una aplicación web compleja.
A parte de esto, para el desarrollador supone una gran ventaja su uso, ya que al automatizar las tareas más comunes, dicho desarrollador puede dedicarse por completo a los aspectos específicos de cada aplicación.
Symfony está completamente desarrollado en PHP y es compatible con la mayoría de gestores de base de datos, y además se puede ejecutar tanto en plataformas nix, como pueden ser Linux o Unix, como en plataformas Windows.
Algunas de las principales características de Symfony:
- Es fácil de instalar y configurar en la mayoría de plataformas.
- Independiente del sistema gestor de base de datos.
- Utiliza programación orientada a objetos y características como los espacios de nombres.
- Fácil de usar, aunque preferiblemente para el desarrollo de grandes aplicaciones web.
- Sigue la mayoría de mejores prácticas y patrones de diseño para la web.
- Preparado para aplicaciones empresariales y adaptable a las políticas de cada empresa.
- Código fácil de leer que incluye comentarios de phpDocumentor.
- Potente línea de comandos que facilitan la generación de código, esto es fundamental para ahorrar tiempo de trabajo.
Características de automatización de proyectos web:
- Incluye una capa de internacionalización para la traducción del texto de la interfaz, los datos y el contenido de localización.
- La presentación usa templates y layouts, que pueden ser creados por diseñadores de HTML que no posean conocimientos del framework.
- Los formularios soportan la validación automática, para asegurar una mejor calidad de los datos de la base de datos.
- La gestión de la caché reduce el ancho de banda utilizado y la carga del servidor.
- La autenticación y la gestión de credenciales simplifican la creación de secciones restringidas y la gestión de seguridad de usuario.
- El enrutamiento y las URLs “inteligentes” permiten considerar a las direcciones de las páginas como parte de la interfaz.
- La interacción con AJAX es más sencilla.
- Los plugins presentan un alto nivel de extensibilidad.