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

2023-11-20

一、修改框架核心扩展包
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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TP6.0 自定义命令创建类文件 的相关文章

随机推荐

  • 网站架构探测&chrome插件用于信息收集

    文章目录 0x01 网站架构探测 云悉 潮汐指纹 0x02 chrome插件用于信息收集 添加插件的方法 官网添加方法 开发者模式添加 Wappalyzer 下载方法 功能 FOFA Pro view 下载方法 ModHeader 0x01
  • 博客搭建二:NexT主题相关设置beta

    安装NexT 在你的博客根目录 git clone https github com iissnan hexo theme next themes next 不同版本的NexT配置文件略有不同 本次使用的是hexo theme next 7
  • 多线程(九):JUC组件

    在来时juc组件前 我们先把上一章遗漏的部分给补上 synchronized 实现策略 锁升级 无锁 gt 偏向锁 gt 轻量级锁 gt 重量级锁 还有一个 锁消除 锁消除即删除不必要的加锁操作 JVM在运行时 对一些 在代码上要求同步 但
  • sort快速排序

    sort快速排序 使用sort必须要有相应的头文件 include
  • 中标麒麟系统把玩记录

    1 指令发送邮件 echo content mail vs this is title a a sh XXX XX com 其中 content代表发送的内容 thisistitle代表邮件主题 a sh为附件 2 开机运行脚本 在etc
  • 田忌赛马java代码算法,AcWing 1489. 田忌赛马——Java版代码

    import java io import java util public class 田忌赛马 public static void main String args throws IOException BufferedReader
  • Thrift快速入门

    文章目录 Thrift的安装 windows下安装 Linux下安装 Thrift的使用 编写IDL文件 命名空间 namespace 基本数据类型 类型定义 typedef 结构体类型 struct 枚举类型 enum 异常类型 exce
  • MybatisX简介

    MybatisX简介 前言 一 什么是MybatisX 二 如何使用 1 安装插件 2 创建一个mybatis项目或者于项目中引入mybatis依赖 3 快速生成示例 3 1 快速生成mapper方法 3 2 MybatisX Genera
  • 使用lattice包的bwplot函数绘制箱图比较多个模型在不同指标上的性能差异(R语言)

    使用lattice包的bwplot函数绘制箱图比较多个模型在不同指标上的性能差异 R语言 箱图是一种常用的数据可视化方法 用于表示一组数据的分布特征 包括中位数 四分位数 异常值等 在比较多个模型在多个指标上的性能差异时 箱图可以提供直观的
  • NCCL相关笔记

    本文仅代表个人观点 不保证正确性 一 NCCL简介 1 什么是NCCL NCCL是NVIDIA集合通信库 NVIDIA Collective Communications Library 的简称 是用于加速多GPU之间通信的库 能够实现集合
  • #css# 【四】如何使用hover,实现父对子的样式改变?

    css 如何使用hover 实现父对子的样式改变 思路及做法 鼠标移动到父盒子的时候 里面所有的子盒子的样式都发生变化的 只需要直接在hover后面加上空格 并且加上子盒子的类名 里面再写其他样式 父盒子的类名 hover 子盒子的类名 这
  • iOS系统网络抓包方法

    原文地址 http www cnblogs com ydhliphonedev archive 2011 10 27 2226935 html 在进行iOS开发过程中 经常会遇到各种各样的网络访问问题 以前苦于没有抓包工具 很多网络问题解决
  • 【python-opencv】硬币检测

    使用 python3 8 x opencv 硬币检测 问题描述 设计思路1 使用简单特征识别 具体操作 部分代码 设计思路2 模板匹配 源码 模板制作 完整代码 问题描述 使用图像处理技术 从照片中识别硬币的个数 并判断总价值 设计思路1
  • ESP32开发阶段启用 Secure Boot 与 Flash encryption

    Secure Boot 与 Flash encryption详情 请参考 https blog csdn net espressif article details 79362094 1 开发环境 AT版本 2 4 0 0 发布 IDF 与
  • git忽略文件地址

    git忽略文件地址 Objective C gitignore gitignore
  • String和StringBuffer的常见用法

    链接 https www nowcoder com questionTerminal fe6b651b66ae47d7acce78ffdd9a96c7 answerType 1 f discussion来源 牛客网 String的用法 ja
  • dubbo配置提供者和消费者

    1 找到对应的文件 提供者 消费者 参考dubbo官网 http dubbo apache org zh cn docs user quick start html
  • 【NLP】第 6 章 :微调预训练模型

    到目前为止 我们已经了解了如何使用包含预训练模型的huggingface API 来创建简单的应用程序 如果您可以从头开始并仅使用您自己的数据来训练您自己的模型 那不是很棒吗 如果您没有大量空闲时间或计算资源可供使用 那么使用迁移学习 是最
  • 连接池

    总结 1 连接池 java对外提供了连接的接口 连接池的存在就省去了每次创建和释放连接 2 连接池的连接条件 1 将commons pool 1 5 6 jar的jar包引进java项目下的lib文件夹 3 用连接池对象代替dao 层的Co
  • TP6.0 自定义命令创建类文件

    一 修改框架核心扩展包 1 新增指令配置项 2 创建逻辑层类文件模板 3 创建 Logic php 文件 4 执行命令 创建逻辑层类文件 二 不用修改框架源码 推荐 1 创建一个自定义命令类文件 以逻辑层类文件为例 2 复制创建模型类的命令