aiwozhe/laravel-modules

This package is abandoned and no longer maintained. No replacement package was suggested.

Laravel Module management

Fund package maintenance!
nwidart
dcblogdev

Installs: 521

Dependents: 0

Suggesters: 0

Security: 0

Stars: 6 056

Watchers: 150

Forks: 1 010

Open Issues: 33

pkg:composer/aiwozhe/laravel-modules

v12.0.4 2025-06-29 09:23 UTC

README

Latest Version on Packagist Software License Scrutinizer Coverage Total Downloads

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": false modules 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.