magein/think-command

thinkphp开发创建常用的文件命令,安装请携带 --dev 参数

v4.1.0 2025-08-07 09:08 UTC

This package is auto-updated.

Last update: 2025-08-07 09:10:15 UTC


README

简介

thinkphp6~|8~ 开发中使用的命令行用于快速创建文件

composer | gitee

安装

因为是快速创建文件,所以仅仅是开发使用,切勿在生产环境使用

composer require --dev magein/think-command

配置文件

console.php中可以添加以下配置

[
    // 指令定义
    'commands' => [
        // 这里的指令可以自定义,等同于model:service
        'model:ser' => MakeService::class,
        // 等同于model:new
        'model:create' => MakeModel::class,
        // 不想使用model:validate 可以修改为model:vi
        'model:vi' => MakeValidate::class,
    ],
    
    'config' => [

        // 创建model模型使用的配置
        'model' => [
            // 保存路径 默认是 app/model
            'path' => 'app/model',
            // 继承的基类
            'extends' => \magein\think\utils\SoftModel::class,
            // 是否自动分组,是文件夹分组,建议开启,以便于管理
            'group' => true,
        ],
    
        // 数据仓库文件地址
        'service' => [
            // 保存路径 默认是 app/service
            'path' => 'app/service',
            // 继承的基类
            'extends' => \app\service\ApiSiteService::class,
            // 模板 (^4.1.0)
            'template' => ''
        ],
    
        // 验证类文件地址
        'validate' => [
            // 保存路径 默认是 app/validate
            'path' => 'app/api/validate',
             // 模板 (^4.1.0)
            'template' => ''
        ],
        
        // apipost使用的接口字段描述
        'docs' => [
            // 保存路径 默认是docs
            'path' => 'docs',
        ]
        
        // 生成测试数据的配置
        'faker' => [
            //  识别成图片字段 默认['avatar', 'head', 'icon', 'pic', 'pics', 'img', 'image', 'images', 'picture', 'photo']
            'img_field' => ['img','icon'],
            //  图片地址可选值
            'img_src' => [
                '/static/img/user.png',
                '/static/img/default.png',
            ],
            // 识别成http远程地址 默认['url', 'urls', 'redirect', 'http', 'https', 'remote', 'remote_url', 'domain', 'host']
            'http_field' => [],
            // 远程地址可选值
            'http_url' => [
                \think\facade\Env::get('app_url', 'http://localhost'),
                'https://xxxx.com',
            ],
         ],
    ]
]

使用

快速创建模型

需要指定数据中的表名称

# 创建model类且继承MainModel,同时执行model:attr
php think model:new  users
# 创建model属性
php think model:attr user
# 创建model,validate,service,docs
php think model:attr user -all

可以使用--help查看帮助说明

php think model:new --help
php think model:attr --help

创建模型的属性

需要指定已经创建的模型名称

创建属性是为了更好的贴切对面对象的编程模式,且ide中获取提示

$user=User::find();
echo $user->name;
php think model:attr 

将模型目录下的文件没有属性的添加属性,匹配全部文件

php think model:attr user

匹配User.php

创建验证类

跟thinkphp官方的命令不一样的地方是会根据模型对应的表字段进行创建

需要指定已经创建的模型名称

php think model:validate user

创建测试数据

使用模型创建测试数据

php think model:faker user -l 5

创建字段说明文件

仅仅针对于apipost这个工具生成的描述字段

使用模型创建测试数据

php think model:docs user
php think model:docs user -l
php think model:docs user -p

创建service

php think model:service user