Aplicaciones modulares en Laravel, ¡🚀100%!

Fecha de publicación: julio 18, 2021

Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn
Share on google
Google+
Share on whatsapp
WhatsApp
Share on email
Email

Las aplicaciones modulares en Laravel son geniales para desarrollar grandes proyectos de forma organizada.

Actualmente estoy desarrollando una aplicación modular en Laravel y quiero compartir contigo algunas de las herramientas y formas de trabajar que estoy utilizando para que las tengas en cuenta y, en caso de que te gusten/parezcan útiles, las utilices en tus futuros proyectos.

Imagina que deseas crear un sistema E-commerce, el cual tendrá productos, facturación, envíos, clientes, newsletter etcétera. Crear un sistema de este tipo no es sencillo, pero si nos organizamos de la mejor forma, puede llegar a serlo.

Laravel Modules, la solución para crear aplicaciones modulares en Laravel, ¡+100% en todo!

Gracias a Laravel Modules desarrollar aplicaciones modulares en Laravel es cosa de niños, simplemente debemos instalar este fantástico paquete y empezar a escribir código, Laravel Modules se encarga de crear toda la arquitectura para que nuestros proyectos estén basados en módulos de forma organizada.

Instalar Laravel Modules

Laravel Modules es compatible con Laravel 5 y superior, actualmente hasta Laravel 8.x, para instalar esta dependencia simplemente debemos ejecutar el siguiente comando en nuestro proyecto.

Opcionalmente, también podemos publicar su configuración para ajustarla a nuestras necesidades.

Autocarga de módulos con PSR-4

Los módulos que se vayan generando por defecto no estarán en la autocarga de composer, para que lo estén, simplemente debemos abrir nuestro archivo composer.json y actualizar la clave autoload -> psr-4 de la siguiente forma.

Ya que Laravel Modules por defecto crea los módulos en el directorio Modules (puedes cambiar este comportamiento en su configuración), nosotros simplemente registramos en namespace Modules apuntando al directorio Modules que está en la raíz del proyecto.

Una vez hecho, no olvides ejecutar el siguiente comando en tu proyecto.

Crear nuestro primer Módulo con Laravel Modules

Crear un módulo es realmente sencillo, basta con ejecutar el siguiente comando, en este caso para crear el módulo para gestionar la facturación del E-commerce.

Esto habrá creado un módulo completo llamado Invoice dentro del directorio Modules de nuestro proyecto listo para utilizar.

Crear recursos utilizando Artisan con Laravel Modules

A partir de ahora, crear cualquier nuevo recurso para el módulo Invoice es bien sencillo.

Además, si te fijas en los últimos comandos, también verás que podemos gestionar nuestras migraciones, configuración etcétera. En definitiva, podemos hacer todo lo que hacemos normalmente en nuestros proyectos, pero ahora con Laravel Modules.

EXTRA: ¡Laravel Livewire!

¡No podía faltar Laravel Livewire en el desarrollo de aplicaciones modulares en Laravel! Para poder trabajar con Livewire en Laravel Modules lo primero que debemos hacer es instalar el siguiente package y opcionalmente publicar su configuración.

Crear componentes Livewire con Laravel Modules

Una vez hecho, para crear nuevos componentes Livewire para cualquier módulo simplemente debemos utilizar la siguiente firma.

Un ejemplo sería crear un componente Livewire para mostrar un listado de facturas, pues sería tan fácil como ejecutar el siguiente comando en nuestro proyecto.

El comando anterior habría creado el directorio Livewire/Invoices dentro del directorio Modules/Invoice/Http con el archivo List.php y su correspondiente archivo de vista en el directorio Modules/Invoice/Resources/views/livewire/invoices, así de simple.

Utilizar los componentes Livewire en Blade

Una vez hayamos definido la lógica de nuestros componentes Livewire, utilizarlos es muy sencillo, basta con añadir el siguiente código en nuestros archivos blade y todo estará funcionando.

Conclusiones

Si en algún momento de tu carrera como desarrollador Laravel necesitas desarrollar aplicaciones grandes que necesiten una arquitectura robusta no dudes en tener en cuenta las aplicaciones modulares. Gracias a este tipo de arquitectura podremos gozar de un ecosistema robusto, grande y ordenado que hará que el trabajo individual o en equipo sea divertido a la par que productivo.

Espero que te haya gustado la entrada y, en caso de ser así, te agradezco que la compartas con tus conocidos.

¿Quieres acceder a más de 150 cursos de PHP y JavaScript?

¿Quieres ganar tiempo en tus desarrollos con nuestros proyectos descargables?


Vue, Laravel, Inertia, NodeJS, WordPress, Serverless, React Native, Amazon Web Services y mucho más

Hazte Premium y consigue acceso completo
Cursosdesarrolloweb ©. Todos los derechos reservados.

Login

Create an Account Back to login/register
¡YA ESTÁ AQUÍ HALLOWEEN! LA MEJOR PROMOCIÓN DEL AÑO
¡HALLOWEEN 2021!