rawilk/laravel-modules
is a Laravel package to help build modular apps using modules.
A module is like a Laravel package; it has some views, controllers and models.
Laravel-Modules is supported and tested in Laravel 6.
This package is inspired by nWidart/laravel-modules. Although laravel-modules is mainly intended for my own use and has certain parts written to cater to my needs, you are free to use it.
To install the package through composer, run the following command
composer require rawilk/laravel-modules
The package will automatically register its service provider and alias.
You can optionally publish the package's configuration file by running:
php artisan vendor:publish --provider="Rawilk\LaravelModules\LaravelModulesServiceProvider"
By default the modules are not loaded automatically. You can autoload the modules by using psr-4
in your composer.json
file:
{
"autoload": {
"psr-4": {
"App\\": "app/",
"Modules\\": "Modules/"
}
}
}
- If you changed the module namespace in the config file, be sure to change
"Modules\\"
to your new namespace. - If you changed the directory where the modules get stored in the config file, be sure to change
"Modules/"
to the directory they will be stored in.
Tip: Be sure sure to run composer dump-autoload
afterwards.
Database installation and activation of modules is still a work in progress and is not ready for production yet. I do have plans to finish this functionality in a future release.
Further information and instructions can be found at: https://rawilk.github.io/laravel-modules/
The MIT License (MIT). Please see the License file for more information.