To create the suggested structures, the execution options are shown below. To create a "Project", it will be created within the default "app" directory with the name of your project where all the modules will be located.
To create the modules or the complete skeleton of the module, you must also inform your project, as shown in each command.
After executing the skeleton creation, the Providers for registration will be displayed.
Remember that Laravel 10 and 11 have different places for declaring Providers.
└── MyProject
├── Commons
└── Traits
├── RouteServiceProviderTrait.php
└── SoftDeletes.php
└── MyModules
├── Controllers
└── Api
└── MyModuleController.php
├── Models
├── MyModule.php
└── Repositories
├── MyModuleRepositoryInterface.php
└── MyModuleRepository.php
├── Providers
├── AppServiceProvider.php
└── RouteServiceProvider.php
├── Requests
└── MyModuleRequest.php
├── Resources
├── MyModuleCollection.php
└── MyModuleResource.php
├── Routes
├── api.php
└── web.php
└── Services
└── MyModuleService.php
Install the package via Composer:
composer require --dev wr2net/lm-createphp artisan lm-create:project MyProjectphp artisan lm-create:module MyProject MyModulephp artisan lm-create:skeleton MyProject MyModulephp artisan lm-create:basic MyProject MyModule└── MyProject
├── Commons
└── Traits
└── SoftDeletes.php
└── MyModules
├── Models
├── MyModule.php
└── Repositories
├── MyModuleRepositoryInterface.php
└── MyModuleRepository.php
├── Providers
└── AppServiceProvider.php
└── Services
└── MyModuleService.php
This is valid for Projects, Modules and Skeleton
Eg. Project:
php artisan lm-create:project 'My Project'Eg. Module or Skeleton:
php artisan lm-create:module 'My Project' 'My Module'
php artisan lm-create:skeleton 'My Project' 'My Module'The MIT License (MIT). Please see License File for more information.
| Resource | Description | Category |
|---|---|---|
| [v] Run in production | Not is running by artisan | FEAT |
| [v] Basic Skeleton | Create basic skeleton to usage model | FEAT |
| [v] Generate Unit Tests | Generate a basic structure for unit testing the module. | FEAT |
| [v] Generate Integration Tests | Generate a basic structure for integration testing the module. | FEAT |
| Resource | Description | Category |
|---|---|---|
| [v] No replace | If module was created but, not is complete, in new generate cannot replace if exists resources | BUG |
| [v] Namespace | Modules with compound names are not generating namespaces correctly | BUG |
composer installphp src/Config/lm-create-dev.php -f project:MyProjectphp src/Config/lm-create-dev.php -f module:MyProject:MyModulephp src/Config/lm-create-dev.php -f skeleton:MyProject:MyModulephp src/Config/lm-create-dev.php -f basic:MyProject:MyModule