Skip to content
Denis Duliçi edited this page Nov 19, 2019 · 4 revisions

This package intends to make your Laravel app extensible via modules. A module is a kinda small Laravel app, shipping with its own views, controllers, models, etc.

Creating a module is pretty simple. Run the following command:

php artisan module:make <alias> like php artisan module:make blog

It is also possible to create multiple modules once.

php artisan module:make blog projects crm

By default when you create a new module, the command will add some resources like a controller, seed class, service provider, etc. automatically. If you don't want these, you can add --plain flag, to generate a plain module.

php artisan module:make blog --plain

Folder Structure

The following folders/files will be generated by default. You can enable/disable them from config/module.php file.

app/
bootstrap/
config/
database/
modules/
  ├── Blog/
      ├── Config/
          ├── config.php
      ├── Console/
      ├── Database/
          ├── Migrations/
          ├── Seeders/
      ├── Http/
          ├── Controllers/
          ├── Middleware/
          ├── Requests/
      ├── Listeners/
      ├── Models/
      ├── Providers/
          ├── Main.php
      ├── Resources/
          ├── assets/
          ├── lang/
          ├── views/
      ├── Routes/
          ├── api.php
          ├── web.php
      ├── composer.json
      ├── module.json
      ├── package.json
      ├── webpack.mix.js
public/
...
vendor/
.env
Clone this wiki locally