dung-nguyentrung / mes-cmd
A generate file in custom directory for Greenland iMES
dev-master
2024-08-04 03:01 UTC
Requires
- php: >=7.4
- illuminate/support: ^9|^10|^11
This package is auto-updated.
Last update: 2025-07-04 05:06:17 UTC
README
Folder Structure
├── app
│ └── Common
│ ├── Constants
│ ├── Controllers
│ └── Helpers
│ └── Interfaces
│ └── Middleware
│ └── Models
│ └── Repositories
│ └── Services
│ └── Traits
│ └── Modules
│ ├── Auth
│ ├── Controllers
│ ├── DataTransferObjects
│ ├── Exceptions
│ ├── Interfaces
│ ├── Models
│ ├── QueryBuilders
│ ├── Requests
│ ├── Routes
│ ├── Rules
│ ├── Services
│ ├── Exports
│ ├── Imports
│ ├── Jobs
│ ├── ...
├── ...
Config
Publish Config File
mes-cmd.php
php artisan vendor:publish Which provider or tag's files would you like to publish? All providers and tags ......................................................................................................................... 0 Provider: DungNguyenTrung\MesCmd\MESServiceProvider ............................................................................................ 1 Provider: Illuminate\Foundation\Providers\FoundationServiceProvider ............................................................................ 2 Provider: Illuminate\Mail\MailServiceProvider .................................................................................................. 3 Provider: Illuminate\Notifications\NotificationServiceProvider ................................................................................. 4 Provider: Illuminate\Pagination\PaginationServiceProvider ...................................................................................... 5 Provider: Laravel\Sail\SailServiceProvider ..................................................................................................... 6 Provider: Laravel\Sanctum\SanctumServiceProvider ............................................................................................... 7 Provider: Laravel\Tinker\TinkerServiceProvider ................................................................................................. 8 Tag: config .................................................................................................................................... 9 Tag: laravel-errors ........................................................................................................................... 10 Tag: laravel-mail ............................................................................................................................. 11 Tag: laravel-notifications .................................................................................................................... 12 Tag: laravel-pagination ....................................................................................................................... 13 Tag: sail ..................................................................................................................................... 14 Tag: sail-bin ................................................................................................................................. 15 Tag: sail-database ............................................................................................................................ 16 Tag: sail-docker .............................................................................................................................. 17 Tag: sanctum-config ........................................................................................................................... 18 Tag: sanctum-migrations ....................................................................................................................... 19 .....
Type 1
to publish this package's config
Config Folders Setting
<?php return [ /* |-------------------------------------------------------------------------- | MES Command Line Config |-------------------------------------------------------------------------- | | This value is the name of your application, which will be used when the | framework needs to place the application's name in a notification or | other UI elements where an application name needs to be displayed. | */ 'folder' => [ 'root' => 'Modules', 'controller' => 'Controller', 'dto' => 'DataTransferObjects', 'model' => 'Models', 'query' => 'QueryBuilders', 'repo' => 'Repositories', 'service' => 'Services', 'view' => 'Views', 'view_model' => 'ViewModels', ], ];
Description
This package includes some custom collectors:
- Create a new controller
- Create a new DTO
- Create a new Model
- Create a new Query
- Create a new Repository
- Create a new Service
- Create a new View
- Create a new ViewModel
Installation
Require this package with composer. It is recommended to only require the package for development.
composer require dung-nguyentrung/mes-cmd:dev-master --dev
Usage
Make Controller
php artisan mes:controller ControllerName FolderController created successfully at yourPath/app\Modules/{Folder}/Controllers/{ControllerName}.php
Make Model
php artisan mes:model ModelName FolderModel created successfully at yourPath/app\Modules/{Folder}/Models/{ModelName}.php
Make Query Builder
- Basic
php artisan mes:query QueryBuilderName Folder
- Add --model Tag
php artisan mes:query QueryBuilderName Folder --model=YourModel
YourModel.php
<?php ... use App\Modules/{Folder}/QueryBuilders/{QueryBuilderName}; class YourModel extends BaseModel { use HasFactory; ... /** * newEloquentBuilder * * @param $query * @return QueryBuilderName */ public function newEloquentBuilder($query): QueryBuilderName { return new QueryBuilderName($query); } }QueryBuilder created successfully at yourPath/app\Modules/{Folder}/QueryBuilders/{QueryBuilderName}.php
Make View
php artisan mes:view view-name FolderView created successfully at yourPath/app\Modules/{Folder}/View/{view-name}.blade.php
Make View Model
php artisan mes:vm ViewModelName FolderView Model created successfully at yourPath/app\Modules/{Folder}/ViewModels/{ViewModelName}.php
Make Service
php artisan mes:service ServiceName FolderService created successfully at yourPath/app\Modules/{Folder}/Services/{ServiceName}.php {ServiceName}Interface created successfully at yourPath/app\Modules/{Folder}/Interfaces/{ServiceName}Interface.php
Make Repository
php artisan mes:repo RepositoryName FolderView created successfully at yourPath/app\Modules/{Folder}/Repositories/{RepositoryName}.php {RepositoryName}Interface created successfully at yourPath/app\Modules/{Folder}/Interfaces/{RepositoryName}Interface.php