Search by

danielalva / laravel-modular

luisdaniel9986

Arquitectura modular profesional y ligera para Laravel creada por Daniel Alva

Package info

github.com/luisdaniel9986/laravel-modular

pkg:composer/danielalva/laravel-modular

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-10-29 17:22 UTC

This package is auto-updated.

Last update: 2026-10-29 17:33:35 UTC


README

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.