Hoy traigo material sobre Symfony. Una serie de bundles o vendors para Symfony que he probado en algunos proyectos. Cada programador tendrá sus preferidos. Entonces, terminando con la serie de tutoriales de iniciación a Symfony, dejo aquí unos bundles que recomiendo.
Te animo a dejar en los comentarios más bundles interesantes.. ?
Un poco de teoría sobre los bundles
Antes se organizaban los proyectos Symfony en bundles. Esto ha cambiado, y en las últimas versiones a partir de la 4, se recomienda crear bundles sólo para compartir entre proyectos.
Ahora toda la aplicación se organiza como un único bundle principal con todo su código fuente dentro de src/. Pero además, dentro de este directorio src/, podemos crear dichos bundles para compartir.
Cuando nos instalamos bundles usando Composer, los instalamos como paquetes de Packagist.org y se instalarán en el directorio vendor/. Esta es la forma natural hacia la que tiende la organización de los componentes en el mundo del PHP.
Dejo aquí enlace a la documentación oficial para el que quiera seguir avanzando con esto:
https://symfony.com/doc/current/bundles.html
https://symfony.com/doc/current/bundles/best_practices.html
Unos bundles interesantes
EasyAdmin
Una joya del software para Symfony, te ayuda a generar en pocos minutos un panel de control sencillo con las operaciones CRUD básicas. Quiere convertirse en el panel de administración inicial de todo proyecto Symfony.
JmoseScheduler
Gran bundle para proporcionar a tus proyectos Symfony una gestión de programación de tareas. Podrás crear comandos de consola, probarlos mientras los construyes como siempre, desde línea de comandos. Para luego configurar su programación de tareas desde un panel de control visual dentro del proyecto web.
VichUploader
Automatiza todo el proceso de subida y manejo de ficheros con los formularios Symfony. Permite configurarlo para imágenes o ficheros como documentos PDF, etc. Todo enlazando con entidades de Doctrine y así poder gestionarlos fácilmente.
El core de la API Platform
Una maravilla para generar APIs. La API Platform como tal es un proyecto Symfony completo e independiente que puede funcionar por sí sólo. Pero si jugamos un poco con sus vendors, podemos instalarnos sólo el vendor del core, y así generar una API completa en un proyecto Symfony 100% personalizado, delegando así todo el trabajo de generar una API a éste gran proyecto.
LiipImagine
Una maravilla para el tratamiento de imágenes. Te permite comprimirlas y redimensionarlas a la hora de generar dichas imágenes en las plantillas Twig. Va generando ficheros de caché con las imágenes tratadas al vuelo. Una maravilla..
KnpPaginator
Cómo no, el clásico de la paginación. Para poder generar una sencilla paginación de elementos con los clásicos números de página, anterior pa?ina, siguiente, etc.. un imprescindible si queremos listar en el frontend muchos elementos y ponerlo fácil a los rastreadores de Internet para que naveguen por los proyectos Symfony.
FMElfinder
A mi me ha impresionado este bundle. Se trata de un gestor de ficheros web, que podemos instalar en nuestros proyectos Symfony en muy poco tiempo. Una maravilla, un must know para construir en Symfony.
Gpslab Geoip2
Para localizar geográficamente IPs usando la base de datos de Maxmind. Se integra con una cuenta en Maxmind, actualizando la BD, y proporcionando unas funciones para obtener los datos de localización.
Terminando
Insisto, te invito a comentar qué te han parecido, y comentar para añadir más bundles interesantes que hayas visto ? Iré ampliando la lista si voy encontrando otros bundles interesantes por mi cuenta.
Enlace a todos los vendors disponibles en Packagist.org:
https://packagist.org/
Puede no ser el bundle más popular, ni el más útil, pero vaya que le tengo cariño: https://github.com/jolicode/GifExceptionBundle 🙂
Gracias por tu serie de tutoriales, la he seguido religiosamente.
Muchas gracias por el aporte! ????