workerman 的自定义协议必须放在 Protocols 命名空间下吗?

mgzhenhong

问题描述

workerman 的自定义协议必须放在 Protocols 命名空间下吗?
命名空间一般都是和目录同路径的, 这样必须在根目录放一个 Protocols 目录, 不好看啊

为此你搜索到了哪些方案及不适用的原因

能不能有一个类似注册的方法, 声明什么协议交给哪个类来解析

比如这样
Workerman::registerProtocol('myprotocol', \Class\Namespace\Path\MyProtocol::class);

266 1 0
1个回答

walkor

你可以用 class_alias(\Class\Namespace\Path\MyProtocol::class, Protocols\MyProtocol::class); 来实现变更命名空间

  • mgzhenhong 2023-09-06

    还真不知道有这么个方法, 试了下没问题。
    但是 还是觉得丑。。 这行代码还必须得注释说明下, 否则其他人看到根本不知道这是在干啥

  • nitron 2023-09-06

    这是PHP的内置方法

🔝