SOLID principles...
composer require pablolovera/modules-laravel-api
PabloLovera\ModulesLaravel\Providers\ModulesServiceProvider::class,
For OAuth2
'Authorizer' => LucaDegasperi\OAuth2Server\Facades\Authorizer::class,
For Fractal
'Fractal' => Cyvelnet\Laravel5Fractal\Facades\Fractal::class
php artisan vendor:publish --provider="PabloLovera\ModulesLaravel\Providers\ModulesServiceProvider"
Create the Core
module. It's very important!
php artisan module:make-core
Then... see the directory app/Core/
php artisan make:module <module-name>
Then... see the directory app/Modules/<module-name>
When a new module is created, you need add provider in config/app.php
, like a App\Modules\<module-name>\Providers\<module-name>ServiceProvider::class,
php artisan ...
make:module <module-name>
module:make-controller <controller-name> <module-name>
So... created in app/Modules/<module-name>/Http/Controllers/<controller-name>
module:make-entity <entity-name> <module-name>
So... created in app/Modules/<module-name>/Entities/<entity-name>
module:make-entity-contract <entity-contract-name> <module-name>
So... created in app/Modules/<module-name>/Contracts/Entities/<entity-contract-name>
module:make-repository <repository-name> <module-name>
So... created in app/Modules/<module-name>/Repositories/<repository-name>
module:make-repository-contract <repository-contract-name> <module-name>
So... created in app/Modules/<module-name>/Contracts/Repositories/<repository-contract-name>
module:make-service <service-name> <module-name>
So... created in app/Modules/<module-name>/Services/<service-name>
module:make-service-contract <service-contract-name> <module-name>
So... created in app/Modules/<module-name>/Contracts/Services/<service-contract-name>
module:make-request <request-name> <module-name>
So... created in app/Modules/<module-name>/Http/Requests/<request-name>
module:make-seeder <seeder-name> <module-name>
So... created in app/Modules/<module-name>/Database/seeds/<seeder-name>
module:make-migration <migration-name> <module-name>
So... created in app/Modules/<module-name>/Database/migrations/<migration-name>
module:migrate <module-name>
or
module:migrate <module-name> --seed
module:make-service-provider <service-provider-name> <module-name>
So... created in app/Modules/<module-name>/Providers/<service-provider-name>
module:make-transformer <transformer-name> <module-name>
So... created in app/Modules/<module-name>/Transformers/<transformer-name>
lucadegasperi/oauth2-server-laravel Cyvelnet/laravel5-fractal