Symfony
Existen distintos frameworks cada uno con sus defectos y virtudes pero en este caso voy a hablar de Symfony.
Symfony es un framework que ayuda al programador a hacer un desarrollo más fácil y mas legible separa la lógica de negocio, la lógica de servidor y la presentación de la aplicación web, pretende que tareas que son repetitivas y comunes no las tengas que hacer y te enfoques más a aspectos del desarrollo en sí. Entre las cosas que me hicieron hablar de Symfony destacan la manera de trabajar con las Friendly URL, validación de form, re dimensión de imágenes, creación de PDF , búsquedas muy potentes, entre muchas cosas más.
Esta programado en la versión 5 de PHP y es compatible con varias bases de datos entre ellas MySQL y SQL Server.
Las características de Symfony sacadas de su documentación son las siguientes.
- Fácil de instalar y configurar en la mayoría de plataformas (y con la garantía de que funciona correctamente en los sistemas Windows y *nix estándares).
- Independiente del sistema gestor de bases de datos. Su capa de abstracción y el uso de Propel, pemiten cambiar con facilidad de SGBD en cualquier fase del proyecto.
- Sencillo de usar en la mayoría de casos, está mas indicado para grandes aplicaciones Web que a pequeños proyectos.
- Aunque utiliza MVC (Modelo vista controlador), tiene su propia forma de trabajo en este punto, con variantes del MVC clásico como la capa de abstracción de base de datos, el controlador frontal y las acciones.
- Basado en la premisa de “convenir en vez de configurar”, en la que el desarrollador solo debe configurar aquello que no es convencional.
- Sigue la mayoría de mejores prácticas y patrones de diseño para la web.
- Preparado para aplicaciones empresariales y adaptables a las políticas y arquitecturas propias de cada empresa, además de ser lo suficientemente estable como para desarrollar aplicaciones a largo plazo.
- Código fácil de leer que incluye comentarios de phpDocumentor y que permite un mantenimiento muy sencillo.
- Fácil de extender, lo que permite su integración con las librerías de otros fabricantes.
La página oficial de Symfony y un buen libro para aprender Symfony