Laravel-Modules
| Laravel | laravel-modules |
|---|---|
| 5.4 | ^1.0 |
| 5.5 | ^2.0 |
| 5.6 | ^3.0 |
| 5.7 | ^4.0 |
| 5.8 | ^5.0 |
| 6.0 | ^6.0 |
| 7.0 | ^7.0 |
| 8.0 | ^8.0 |
| 9.0 | ^9.0 |
| 10.0 | ^10.0 |
| 11.0 | ^11.0 |
| 12.0 | ^12.0 |
nwidart/laravel-modules is a Laravel package created to manage your large Laravel app using modules. A Module is like a Laravel package, it has some views, controllers or models. This package is supported and tested in Laravel 11.
This package is a re-published, re-organised and maintained version of pingpong/modules, which isn't maintained anymore.
With one big bonus that the original package didn't have: tests.
upgrade
To upgrade to version V12 follow Upgrade Guide on official document.
Install
To install via Composer, run:
composer require nwidart/laravel-modules
The package will automatically register a service provider and alias.
Optionally, publish the package's configuration file by running:
php artisan vendor:publish --provider="Nwidart\Modules\LaravelModulesServiceProvider"
Autoloading
from v11.0 autoloading
"Modules\\": "modules/",is no longer required, and should be removed from your composer.json if present.
By default, the module classes are not loaded automatically. You can autoload your modules by adding merge-plugin to the extra section:
"extra": {
"laravel": {
"dont-discover": []
},
"merge-plugin": {
"include": [
"Modules/*/composer.json"
]
}
},
Important
on the first installation you will be asked:
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 to allow the plugin to be executed. Otherwise, you will need to manually enable the following to your composer.json:
"config": {
"allow-plugins": {
"wikimedia/composer-merge-plugin": true
}
if
"wikimedia/composer-merge-plugin": falsemodules will not be autoloaded.
Tip: don't forget to run composer dump-autoload afterwards
Documentation
You'll find installation instructions and full documentation on https://laravelmodules.com/.
Community
We also have a Discord community. https://discord.gg/hkF7BRvRZK For quick help, ask questions in the appropriate channel.
Credits
License
The MIT License (MIT). Please see License File for more information.