Looking to hire Laravel developers? Try LaraJobs

laravel-modular maintained by danielalva

Description
Arquitectura modular profesional y ligera para Laravel creada por Daniel Alva
Last update
2026/10/29 18:22 (dev-main)
License
Links
Downloads
0

Comments
comments powered by Disqus

🚀 Laravel Modular Architecture

Arquitectura modular profesional, elegante y ligera para Laravel (Modular Monolith) creada por Daniel Alva.

Latest Version on Packagist Total Downloads Software License PHP Version Laravel Version


👨‍💻 Autor y Contacto


💡 ¿Por qué usar Laravel Modular?

En proyectos medianos y grandes de Laravel, las carpetas por defecto (app/Http/Controllers, app/Models, database/migrations) tienden a saturarse con cientos de archivos mezclados.

Laravel Modular resuelve esto transformando cada funcionalidad en un módulo autocontenido:

modules/
├── Productos/
│   ├── Controllers/
│   │   └── ProductoController.php
│   ├── Models/
│   │   └── Producto.php
│   ├── Migrations/
│   │   └── 2026_10_29_000000_create_productos_table.php
│   ├── Routes/
│   │   ├── web.php
│   │   └── api.php
│   ├── Views/
│   │   └── index.blade.php
│   └── Requests/
└── Ventas/
    └── ...

📦 Instalación

En tu proyecto Laravel:

composer require danielalva/laravel-modular

Gracias al Package Discovery de Laravel, el paquete se registra automáticamente.

Configurar Autoload de Composer

Añade el namespace de los módulos a tu composer.json principal:

"autoload": {
    "psr-4": {
        "App\\": "app/",
        "Modules\\": "modules/"
    }
}

Luego regenera el autoloader:

composer dump-autoload

⚡ Uso y Comandos Artisan

1. Crear un Módulo Completo

php artisan make:module Productos

Crea al instante la estructura completa del módulo con su controlador, modelo, migración base, rutas (web y api) y vista Blade.

2. Crear un Controlador en un Módulo

php artisan module:controller Productos DetalleController

3. Crear un Modelo (con migración opcional)

php artisan module:model Productos Categoria -m

4. Crear una Migración adicional

php artisan module:migration Productos add_stock_to_productos_table

🔄 Carga Automática de Componentes

  • Rutas Web: Se cargan desde modules/{Modulo}/Routes/web.php con middleware web.
  • Rutas API: Se cargan desde modules/{Modulo}/Routes/api.php con prefijo /api y middleware api.
  • Migraciones: Se integran automáticamente a php artisan migrate.
  • Vistas Blade: Se invocan usando el namespace del módulo en minúsculas:
    return view('productos::index');
    

⚙️ Configuración (Opcional)

Si deseas cambiar el directorio base de los módulos o deshabilitar alguna carga automática, publica la configuración:

php artisan vendor:publish --tag=modular-config

📄 Licencia

Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.