当前位置: 首页 > news >正文

学习路之TP6 --重写vendor目录下的文件(服务覆盖command---优点:命令前后一致)

学习路之TP6 --重写vendor目录下的文件

  • 一、新建命令文件:
  • 二、复制修改:Server.php
  • 三、新建服务类:WorkmanService.php
  • 四、注册服务
  • 五、运行效果

有需求要重写vendor\topthink\think-worker\src\command\Server.php 以实现修改代码

一、新建命令文件:

app\command\Server.php

php think make:command Server 

二、复制修改:Server.php

复制vendor\topthink\think-worker\src\command\Server.php 内容到app\command\Server.php
注意更改命名空间:namespace app\command;

三、新建服务类:WorkmanService.php

php think make:service WorkmanService

修改继承类:class WorkmanService extends \think\worker\Service

<?php
declare (strict_types = 1);

namespace app\service;

class WorkmanService extends \think\worker\Service
{
    /**
     * 注册服务
     *
     * @return mixed
     */
    public function register()
    {
        parent::register();
    	$this->commands([
            'worker:server'  => '\\app\\command\\Server',
        ]);
    }
}

要被重写的文件:vendor\topthink\think-worker\src\Service.php

namespace think\worker;

use think\Service as BaseService;

class Service extends BaseService
{
    public function register()
    {
        $this->commands([
            'worker'         => '\\think\\worker\\command\\Worker',
            'worker:server'  => '\\think\\worker\\command\\Server',
            'worker:gateway' => '\\think\\worker\\command\\GatewayWorker',
        ]);
    }
}

四、注册服务

app\service.php增加

app\service\WorkmanService::class,

在这里插入图片描述

五、运行效果

php think worker:server
在这里插入图片描述

http://www.dtcms.com/a/71040.html

相关文章:

  • 在线 SQL 转 SQLAlchemy:一键生成 Python 数据模型
  • 谷歌Gemini 3大模型发布,AI领域再掀波澜!(2)
  • 如何通过 Airbyte 将数据摄取到 Elasticsearch
  • 【Linux我做主】基础命令完全指南上篇
  • 如何在 VS编译器上使用 C99规定的变长数组------使用Clang工具
  • 如何用URDF文件构建机械手模型并与MoveIt集成
  • LeetCode 解题思路 17(Hot 100)
  • 【GB28181】H265-Nalu的封装
  • 让双向链表不在云里雾里
  • 个人博客系统测试报告
  • AI 数字人短视频源码开发:开启虚拟世界的创意引擎
  • C#特性和反射
  • 定制开发开源 AI 智能名片 S2B2C 商城小程序源码在小程序直播营销中的应用与价值
  • 【NoSql】Redis
  • H3C无线控制器二层注册典型配置举例
  • vscode打不开
  • 【SaaS】详解在Azure AKS上构建多租户SaaS应用程序架构及示例
  • Vue 概念、历史、发展和Vue简介
  • 双指针算法专题之——盛最多水的容器
  • 字母的贡献度
  • 【算法思想】前缀和
  • 前端Html5 Canvas面试题及参考答案
  • Harbor 高可用部署
  • 【RH124】第一章 红帽企业Linux入门
  • 李白打酒加强版--dfs+记忆化搜索
  • Cursor插件市场打不开解决
  • JMX 和 JAAS 认证
  • 【数据结构】栈和队列
  • 【NLP】 9. 处理创造性词汇 词组特征(Creative Words Features Model), 词袋模型处理未知词,模型得分
  • 3.4 基于TSX的渲染函数类型安全实践