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 |
nwidart/laravel-modules
is a Laravel package which created to manage your large Laravel app using modules. Module is like a Laravel package, it has some views, controllers or models. This package is supported and tested in Laravel 10.
This package is a re-published, re-organised and maintained version of pingpong/modules, which isn't maintained anymore. This package is used in AsgardCMS.
With one big added bonus that the original package didn't have: tests.
Find out why you should use this package in the article: Writing modular applications with laravel-modules.
Install
To install through Composer, by run the following command:
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
By default, the module classes are not loaded automatically. You can autoload your modules using psr-4
. For example:
{
"autoload": {
"psr-4": {
"App\\": "app/",
"Modules\\": "Modules/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
}
}
Tip: don't forget to run composer dump-autoload
afterwards.
Documentation
You'll find installation instructions and full documentation on https://docs.laravelmodules.com/.
Credits
About Nicolas Widart
Nicolas Widart is a freelance web developer specialising on the Laravel framework. View all my packages on my website, or visit my website.
License
The MIT License (MIT). Please see License File for more information.