nWidart/laravel-modules
nWidart/laravel-modules has 6,239 GitHub stars and 1,013 forks. GitHot measured +4 stars in 24 hours and +17 in 7 days. Last checked 2026-11-11 12:54 UTC. Last push 2026-10-28.
Module Management In Laravel
Crecimiento de estrellas medido
- in 24h
- +4
- in 7 days
- +17
- in 15 days
- Recopilando historial
- in 1 month
- Recopilando historial
Cambios netos en períodos que se solapan, no totales diarios. Los datos no disponibles se dejan en blanco. Las estrellas indican interés, no calidad.
README.md
Original
What it does
- Splits a large Laravel app into modules that live in
Modules/. - Each module is a self-contained unit with its own service providers, routes, controllers, models, views, migrations, config and translations. It works like a small Laravel package inside your app.
- Modules can be enabled or disabled. Only enabled modules are booted. Status is stored by an activator (a JSON file by default).
- Artisan generators create modules and the classes inside them:
module:make,module:make-controller,module:make-model,module:make-migration, and more.
php artisan module:make Blog generates:
Modules/Blog/
├── app/ Http/Controllers, Providers
├── config/
├── database/ factories, migrations, seeders
├── resources/ assets, views
├── routes/ web.php, api.php
├── tests/ Feature, Unit
├── composer.json
├── module.json
├── package.json
└── vite.config.js
Requirements
PHP 8.3+ and Laravel 13 for the current version. See Versions for older Laravel releases.
Install
composer require nwidart/laravel-modules
The service provider and alias are registered automatically. To publish the config file (optional):
php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"
Autoloading
Module classes are autoloaded through wikimedia/composer-merge-plugin. Add this to the extra section of your app's composer.json:
"extra": {
"laravel": {
"dont-discover": []
},
"merge-plugin": {
"include": [
"Modules/*/composer.json"
]
}
},
On first install, Composer asks:
Do you trust "wikimedia/composer-merge-plugin" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [y,n,d,?]
Answer y. Or add it yourself:
"config": {
"allow-plugins": {
"wikimedia/composer-merge-plugin": true
}
}
If the plugin is set to false, modules are not autoloaded. After changing composer.json, run:
composer dump-autoload
Since v11.0, the
"Modules\\": "modules/"autoload entry is no longer needed. Remove it from yourcomposer.jsonif present.
Quick start
php artisan module:make Blog # create a module
php artisan module:list # list modules and their status
php artisan module:disable Blog # stop booting the module
php artisan module:enable Blog # boot it again
Versions
| Laravel | laravel-modules |
|---|---|
| 13 | ^13.0 |
| 12 | ^12.0 |
| 11 | ^11.0 |
| 10 | ^10.0 |
Older Laravel versions use the matching major: 5.4 uses ^1.0, 5.5 uses ^2.0, through Laravel 9 with ^9.0.
Documentation
Full documentation: https://laravelmodules.com/docs.
Credits
Originally based on pingpong/modules, which is no longer maintained.
License
MIT. See LICENSE.md.
Explorar proyectos relacionados
codecrafters-io/build-your-own-x
Domina la programación recreando desde cero tus tecnologías favoritas.
561,804 estrellaspublic-apis/public-apis
Una lista colectiva de API gratuitas
498,165 estrellasmorluto/rea
Ingeniería inversa de cualquier cosa con agentes, desde el comportamiento de la aplicación hasta los binarios nativos.
452,192 estrellasopenclaw/openclaw
La IA que de verdad hace las cosas. Cualquier sistema operativo y cualquier plataforma. Al estilo langosta. 🦞
394,350 estrellas