Symfony: ¿Qué es y cuáles son sus principales características?

Symfony

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.