Laravel Module management

Fund package maintenance!

Installs: 5 325 693

Dependents: 232

Suggesters: 3

Security: 0

Stars: 4 802

Watchers: 158

Forks: 869

Open Issues: 9


Latest Version on Packagist Software License Build Status Scrutinizer Coverage Quality Score 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

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.


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"


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.


You'll find installation instructions and full documentation on https://docs.laravelmodules.com/.


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.


The MIT License (MIT). Please see License File for more information.