drcarpen/builder

创建新模型时导出 uniondrug 文档

3.1.1 2021-01-26 11:54 UTC

README

介绍

通过命令行模式生成相应的 Model,Trait,Struct,Service,Logic,Controller 文件,自动生成“CURD” 的接口模板

使用方法

1 在 composer.json 中引入以下包名,更新 composer
"require-dev" : {
        "drcarpen/builder":"^1.0"
    }
2 在 app/Commands 中添加新文件 BuilderCommand.php
<?php
namespace App\Commands;

use Uniondrug\Builder\Commands\Builder;

/**
 * 生成脚手架
 * php console builder --table tableName
 * @package App\Commands
 */
class BuilderCommand extends Builder
{
    protected $authorConfig = [
        'name' => 'yourName',
        'email' => 'yourEmail@uniondrug.cn'
    ];
}
3 在 .gitignore 文件中添加忽略目录
app/Commands/BuilderCommand.php
4 命令行第三个参数为数据表名,必须按照规范,使用下划线定义,如 wx_members
php console builder --table tableName -e release

参数说明

  1. --table tableName 表名必填,根据此表名生成对应的 Model 等文件(默认使用 database.php 中的配置)
  2. -e environment 指定的环境变量,可改变 database.php 中对应环境的数据库配置

功能说明

Model 层

  1. 根据指定的数据表生成对应的 Model 文件
  2. 生成 property 属性
  3. model 含有 status 字段时,自动生成对应的 statusText

Struct 层

  1. 生成对应的 trait 文件
  2. 生成 create,delete,update,detail,listing,paging 六个入参结构体
  3. 生成 row,rows,listing 三个出参结构体

Service 层

  1. 生成 create,delete,update,detail,listing,paging 的方法

Logic 层

  1. 生成 create,delete,update,detail,listing,paging 的逻辑层文件

Controller 层

  1. 生成 create,delete,update,detail,listing,paging 的方法及 sdk 名

版本更新计划

v1.1 版本
  1. 已知 bug 修复
  2. 支持多 model 生成,baseModel 与 normalModel 拆分,支持重写
  3. 支持数据字段注解,支持 @enum(1=a|2=b) 的文档显示
  4. 支持单 model 重写 --model all --model tableName
v3.1.0 版本

1. 支持别名 2. 快速常用的创建 CURD 3. 指定 controller 生成路径