# 介绍
zhamao-framework 由 php-swoole 构建而来,主要面向 API 服务,聊天机器人(CQHTTP 对接),包含 websocket、http 等监听和请求库,用户代码采用模块化处理,可以方便地编写各类功能。
框架主要用途为 HTTP 服务器,机器人搭建框架。尤其对于 QQ 机器人消息处理较为方便和全面,提供了众多会话机制和内部调用机制,可以以各种方式设计你自己的模块。
在 HTTP 和 WebSocket 服务器上,PHP 的扩展 Swoole 提供了高性能的支持,使其效率可媲美 nginx 静态网页处理的效率。
此外,QQ 机器人方面此框架基于 CQHTTP 的反向 WebSocket 连接,比传统 HTTP 通信更快,未来也会兼容微信公众号开发者模式。
# 开始前
因为框架采用的是 Swoole 的方式来运作的,所以和传统的 php-fpm 处理机制 完全不同。你可以参考 Python 的 aiocqhttp (opens new window) SDK,运行方式为 cli 环境。
在项目运行过程中,会启动 Master、Reactor、Worker 和 TaskWorker 多个进程,在一般情况下,你不需要知道这些进程是什么,有什么区别,除非想学习进程间通信和将框架设为多进程运行模式(框架默认采用单进程多协程运行)。
若使用本框架作为机器人框架的话,建议将本框架部署到和 酷Q 所在同一台服务器上,以减少延迟和断链等网络问题带来的效率影响。
给开发者的提示
本文档的 指南 部分是对框架内各个部分的详细说明,请仔细阅读指南的各个部分后,根据自己的需要选择阅读 框架组件 和 注解事件 部分。如果对框架还迷糊,可以在阅读完 指南 部分后阅读 进阶 篇,去了解怎么完成一个功能。
# 框架特色
- 支持MySQL数据库(连接池),自带查询缓存提高多查询时的效率
- Websocket 服务器、HTTP 服务器兼容运行,一个框架多个用处
- 支持命令、自然语言处理等多种插件形式
- 支持多个机器人账号负载均衡
- 协程 + TaskWorker 进程重度任务处理机制,保证高效,单个请求响应时间为 0.1 ms 左右
- 模块分离和自由组合,可根据自身需求自己建立模块内的目录结构和代码结构
- 灵活的注释注解注册事件方式,弥补 PHP 语言缺少注解的遗憾
安装 →