techindeck / laravel-module-generator
Create application modules followed by CLEAN pattern
README
Create laravel application modules inspired by CLEAN design pattern
This package allows you to easily generate a application module followed by SOLID Principle and CLEAN Architecture
Installation
You can install the package via composer:
composer require techindeck/laravel-module-generator
Usage
You can generate a module using the make:module <module name>
on the Artisan CLI
, will generate a module under App\Modules
directory in the Laravel application
With all option : php artisan make:module 'module' -a With specific options : php artisan make:module 'module' -CUGMRF -curdf
Available options:
Shorthand Options Description -a --all create module with all options -C --controller crate cases controller -U --case create usecases -G --gateway crate module gateway -R --repo create module repository -M --model create module model -F --request create gateway form request validation policy -c --add create usecase add -u --update create usecase update -r --read create usecase read -d --delete create usecase delete -f --find create usecase find
When using a module command to generating a module, you will need that options create entities followed by CLEAN pattern.
Direct Usage
This package aims to be very lightweight and easy to use. If you need to create individually of any options case, controller, gateway, repo, model
, consider using of one these alternatives:
Usecases Example - php artisan module:case-create 'name' - php artisan module:case-update 'name' - php artisan module:case-read 'name' - php artisan module:case-delete 'name' - php artisan module:case-find 'name'
Usecases Controller Example - php artisan module:controller-create 'name' - php artisan module:controller-update 'name' - php artisan module:controller-read 'name' - php artisan module:controller-delete 'name' - php artisan module:controller-find 'name'
Usecases Gateway Example
- php artisan module:gateway 'name'
Usecases Model Example
- php artisan module:model 'name'
Usecases Repository Example
- php artisan module:repository 'name'
Credits
License
The MIT License (MIT). Please see License File for more information.