Aplicaciones modulares en Laravel, 隆馃殌100%!

arrow_back Blog

No te pierdas el curso Laravel Inertia y Vue 3 con arquitectura modular

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.

Cursosdesarrolloweb Cursosdesarrolloweb

Cursosdesarrolloweb es una plataforma educativa con cursos y tutoriales en texto y v铆deo.

T茅rminos y condiciones Pol铆tica de privacidad Formulario de contacto

Copyright 2022 © Todos los derechos reservados.

Contacto