项目简介
本项目基于Swoole Framework官方框架开发,在不改动原框架的基础上进行了优化,如支持控制器模块、按环境划分配置文件。旨在节省微信服务号的开发成本,利用Swoole Framework提高项目的并发处理能力。
项目的主要特性和功能
- 高性能并发处理:采用Swoole Framework,具备异步处理、异步MySQL、异步Redis以及数据库连接池等特性,有效提升项目并发处理能力。
- 多环境配置:配置文件按开发、生产、测试等不同环境进行划分,方便不同环境下的开发和部署。
- 多服务器支持:包含用于启动和管理Swoole服务器、Websocket服务器、FTP服务器的脚本。
- UEditor集成:集成UEditor编辑器,可处理文件和图片的上传。
- 异步任务处理:支持自定义异步处理类,实现异步任务的高效处理。
- 测试代码完善:项目中包含测试代码,可对各个功能模块进行测试。
安装使用步骤
前提条件
假设用户已经下载了本项目的源码文件,且已具备PHP环境。
安装runkit扩展(热部署,目前部分方法报错)
sh
cd /tmp/runkit-ext && phpize && ./configure && sudo make && sudo make install
手动添加声明方便IDE自动提示
- 在
vendor/matyhtf/swoole_framework/libs/Swoole/Swoole.php
中添加: ``` - @property \EasyWeChat\Foundation\Application $easywechat
- @property \App\Component\Event $myevent
- @property \App\Component\RabbitMQ $rabbitmq
- @property \App\Common\Strip $strip
- @property \App\Component\RBAC $rbac ```
- 将
vendor/matyhtf/swoole_framework/libs/lib_config.php
的model
方法的注释部分return
参数改为:@return \App\Component\BaseModel
NGINX配置
将{youDomain}
、{youPath}
改成自己环境的配置:
```sh
server {
listen 80;
server_name {youDomain}.cn;
root /{youPath}/swooleproject/public/;
#charset koi8-r;
access_log logs/{youDomain}-access.log;
error_log logs/{youDomain}-error.log error;
location / {
index index.html;
if (!-e $request_filename){
proxy_pass http://127.0.0.1:9501;
}
}
location /index.html {
proxy_pass http://127.0.0.1:9501/;
}
#error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
} ```
构造全局对象
- 如需配置项则在
apps/config/
中添加对应的配置文件。 - 在
apps/factory/
目录中添加注册对象,文件名即是全局对象名,如rabbitmq.php
。 - 使用时则
\Swoole::$php->rabbitmq->{method}
方式使用。
自定义异步处理类
- 在
apps/configs/
中定义配置,如rabitmq.php
的event
键的配置。 - 创建消息队列类,如
apps/classes/Queue/RabbitMQ.php
,该类需实现\Swoole\IFace\Queue
接口。 - 调整
event
配置,修改对应的配置目录中event.php
中的type
消息队列类为App\Queue\RabbitMQ::class
。 - 在
apps/events/
中定义事件处理类,一个事件可以同时丢给多个类处理。 - 在
apps/classes/Handler/
编写实现Swoole\IFace\EventHandler
接口的类。 - 触发事件,使用
Swoole::$php->event->trigger("hello2", array('key1'=>'val1','key2'=>'val2'))
。
启动服务
- 启动http服务:执行如下脚本会自动显示使用帮助:
sh php server/appServer.php --help
- 启动异步处理服务:执行如下脚本会自动显示使用帮助:
sh php server/eventWorkersServer.php --help
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】