插件开发

添加新插件

  • 插件开发以MoChat 插件插件开发示例 - 图1 (opens new window)的形式,来添加新功能(模块)。
  • 开发完成之后,可以通过composer require 组件名称来安装,hyperf会通过 ConfigProvider 机制来自动加载

MoChat 插件创建器使用方式

  1. # 先进入 api-server 目录
  2. cd /www/wwwroot/mochat/api-server
  3. # 比如要创建一个 maxincai/demo 的插件
  4. # plugin/maxincai/demo
  5. # plugin 表示插件目录
  6. # maxincai 一般为开发者github账号/composer 作者名
  7. # demo 为插件名称
  8. # 执行命令根据提示一步步操作即可
  9. composer create-project mochat/plugin-creater plugin/maxincai/demo

插件目录示例

  1. # 执行成功后就会得到一下如下结构的插件
  2. plugin/maxincai/demo/
  3. |-- composer.json
  4. |-- LICENSE
  5. |-- phpunit.xml
  6. |-- README.md
  7. |-- src
  8. | |-- ConfigProvider.php
  9. | |-- Action-------------------------------------- 动作目录(控制器)
  10. | |-- Constants----------------------------------- 常量目录
  11. | |-- Contract------------------------------------ 服务接口契约目录
  12. | |-- Event--------------------------------------- 事件目录
  13. | |-- Job----------------------------------------- 异步任务目录
  14. | |-- Listener------------------------------------ 事件监听器目录
  15. | |-- Logic--------------------------------------- 业务逻辑目录
  16. | |-- Model--------------------------------------- 模型目录
  17. | |-- Queue--------------------------------------- 异步队列目录
  18. | |-- Service------------------------------------- 服务目录
  19. | `-- Task---------------------------------------- 定时任务目录
  20. `-- tests
  21. |-- bootstrap.php
  22. `-- Cases

修改原应用

如果有修改 ./app下代码的需求,同样建议以插件(hyperf组件)的开发形式,通过AOP 面向切面编程插件开发示例 - 图2 (opens new window)、契约+指定依赖配置来对原应用进行改造,hyperf底层会自动生成替换后的代理

发布

  • 如果您有意分享您的插件,您可以把您插件的git仓库发布到https://packagist.org/平台,其它同学可以直接通过composer来安装下载
  • 当然,您也可以直接将代码归档打包,上传到我们的插件市场,来免费(或以有偿的形式)发布到我们的平台