duuany/laravel-modules

Laravel Module management

2.0 2017-09-04 00:36 UTC

This package is auto-updated.

Last update: 2024-11-04 08:31:11 UTC


README

Latest Version on Packagist Software License Build Status Scrutinizer Coverage SensioLabsInsight Quality Score Total Downloads

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 5.

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

Add Service Provider

Next add the following service provider in config/app.php.

'providers' => [
  Nwidart\Modules\LaravelModulesServiceProvider::class,
],

Next, add the following aliases to aliases array in the same file:

'aliases' => [
  'Module' => Nwidart\Modules\Facades\Module::class,
],

Next 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/"
    }
  }
}

Tip: don't forget to run composer dump-autoload afterwards

Documentation

You'll find installation instructions and full documentation on https://nwidart.com/laravel-modules/.

Credits

About Nicolas Widart

Nicolas Widart is a freelance web developer specialising on the Laravel framework. View all my packages on my website.

License

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