TP6.0 自定义命令创建类文件

文章介绍了两种在ThinkPHP框架中创建逻辑层类文件的方法。一种是修改框架核心扩展包,包括新增指令、创建模板和执行命令。另一种是推荐的不修改源码的方式,通过创建自定义命令类文件,复制命令定义和模板,然后在指令配置文件中添加自定义命令,最后执行命令来生成逻辑层类文件。
摘要由CSDN通过智能技术生成

一、修改框架核心扩展包
1. 新增指令配置项
2. 创建逻辑层类文件模板
3. 创建 Logic.php 文件
4. 执行命令, 创建逻辑层类文件
二、不用修改框架源码 【推荐】
1. 创建一个自定义命令类文件 (以逻辑层类文件为例)
2. 复制创建模型类的命令定义文件内容
3. 拷贝命令行生成模型类的模板
4. 将自定义命令添加到指令配置文件 config\console.php
5. 执行自定义命令, 创建逻辑层类文件

一、修改框架核心扩展包

1. 新增指令配置项


打开文件

 
  1. vendor\topthink\framework\src\think\Console.php

在 类属性 defaultCommands 中添加以下内容

 
  1. 'make:logic' => \think\console\command\make\Logic::class,

2. 创建逻辑层类文件模板


创建以下文件的一个副本

 
  1. vendor\topthink\framework\src\think\console\command\make\stubs\model.stub

将副本重命名为 logic.stub, 文件内容修改如下

 
  1. <?php
  2. declare (strict_types = 1);
  3. namespace {%namespace%};
  4. class {%className%}
  5. {
  6. }

3. 创建 Logic.php 文件


创建以下文件的一个副本

 
  1. vendor\topthink\framework\src\think\console\command\make\Model.php

将副本重命名为 Logic.php, 修改内容如下图

 
  1. vendor\topthink\framework\src\think\console\command\make\Logic.php

4. 执行命令, 创建逻辑层类文件


执行命令

 
  1. php think make:logic common@User

生成逻辑层类文件

 
  1. Logic:app\common\logic\User created successfully.

二、不用修改框架源码 【推荐】

1. 创建一个自定义命令类文件 (以逻辑层类文件为例)


生成 app\command\make\Logic.php 文件

 
  1. php think make:command make/Logic

2. 复制创建模型类的命令定义文件内容


复制以下文件内容, 粘贴到 app\command\make\Logic.php 文件中

 
  1. vendor\topthink\framework\src\think\console\command\make\Model.php

修改内容如下图

3. 拷贝命令行生成模型类的模板


拷贝命令行生成模型类的模板, 粘贴到 app\command\make\stubs\logic.stub

 
  1. vendor\topthink\framework\src\think\console\command\make\stubs\model.stub

文件内容如下

 
  1. <?php
  2. declare (strict_types = 1);
  3. namespace {%namespace%};
  4. class {%className%}
  5. {
  6. /**
  7. * 逻辑层静态方法
  8. */
  9. public static function demo()
  10. {
  11. }
  12. }

4. 将自定义命令添加到指令配置文件 config\console.php


 
  1. return [
  2. // 指令定义
  3. 'commands' => [
  4. 'make:logic' => app\command\make\Logic::class,
  5. ],
  6. ];

5. 执行自定义命令, 创建逻辑层类文件

 
  1. php think make:logic api@User
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值