chatway/laravel-crud-generator

Laravel crud generator

v1.2.11 2024-04-16 09:19 UTC

README

该项目旨在快速生成网站后台文件。根据指定的表创建以下文件:Model、Repository、Service、Controller、view

代码示例将在以后发布

基本使用

php artisan generate tableName {{path}} {{--enum}} {{--scenario}} {{path}} - 需要存放文件的 Domain 文件夹路径(enum)- 生成 enum 文件(force)- 默认为 false,为 true 时替换已创建的文件(scenario=default)- 场景。default - 生成所有文件,admin - 生成后台文件,api - 生成 API 文件(action=generate)- 动作。generate - 生成文件,rollback - 删除生成的文件

从代码中调用命令

Artisan::call('gen:all', [ 'table' => 'event', '--enum' => 'type-sport,home,work;status-active,inactive,deleted' ]);

可选的配置文件 .env 中的通用设置

GENERATOR_BASE_NS= - 存放 Entities、Enum、Repository、Service 的基本 namespace GENERATOR_HTTP_NS= - 存放 Controller 的基本 namespace

生成文件的文件夹 GENERATOR_MODEL_FOLDER_NAME= GENERATOR_REPOSITORY_FOLDER_NAME= GENERATOR_ENUM_FOLDER_NAME= GENERATOR_SERVICE_FOLDER_NAME=

文件后缀 GENERATOR_REPOSITORY_SUFFIX= GENERATOR_CONTROLLER_SUFFIX= GENERATOR_SERVICE_SUFFIX= GENERATOR_ENUM_STATUS_SUFFIX= GENERATOR_VIEW_FILE_SUFFIX=

父组件 GENERATOR_MODEL_EXTENDS= GENERATOR_ADMIN_CONTROLLER_EXTENDS= GENERATOR_API_CONTROLLER_EXTENDS= GENERATOR_SERVICE_EXTENDS= GENERATOR_SERVICE_IMPLEMENTS= GENERATOR_REPOSITORY_EXTENDS= GENERATOR_REPOSITORY_IMPLEMENTS=

标准 enum 类 GENERATOR_DEFAULT_STATUS_ENUM=App\Domain\Application\Admin\Enums\DefaultStatusEnum

使用自己的文件进行生成时,需要在主文件 .gitignore 中添加文件夹:/resources/views/generator

示例

php artisan generate news Context --enum=type-sport,home,work;status-active,inactive,deleted --scenario=rollback --force Example news generate CRUD!

快速生成迁移

从版本 1.2.0 开始引入快速迁移功能

示例:php artisan migrate:new create_news_table --fields=title:string:notNull,status 将创建以下内容

Example generate migrate!

默认使用文件 fieldTemplates.json。您可以使用自己的模板集合,只需将文件复制到 storage/app/fieldTemplates.json 即可

也可以使用预定义的场景:php artisan migrate:new create_news_table --scenario=news

然后迁移数据将从 news.json 文件中获取。您也可以将场景复制到 storage/app/ 目录中并编写自己的场景。