写了一个基于 workerman 的小型 HTTP 框架 WorkerA

2018-07-29 更新


最小版本升级 1.1.0 ==> 1.1.1


完善 IOC 容器,解决 IOC 容器只能依赖注入一层的问题。


修复平滑启动不能响应配置修改的问题。


修复动态路由缓存内存泄漏导致进程重启的问题,使用 LRU 算法控制了缓存的大小。


2018-07-15 更新


WorkerA 发布了 1.1 版本,新增了中间件、动态路由、异常 Handler 等功能。


修复若干 bug,改善了很多不足。


编写了框架的文档:[url=https://www.kancloud.cn/wazsmwazsm/workera/691859]文档地址[/url]。


2017-10-18 更新
添加了 redis 支持


=============


接触 workerman 一个多月,让我重新认识了 PHP。很佩服 workerman 的性能和稳定性。


之前有用 laravel \ lumen 做一个接口的项目,虽然 laravel 的开发很方便,但是由于服务器配置和传统 wnmp wamp 模型的限制,QPS 小的可怜。于是用 workerman 写一个小型的 HTTP 框架的想法就出来了。


WorkerA 目前只写了一个月不到,第一版发布,实现了一些基础功能。
使用自动依赖注入
提供 mysql 驱动、支持断线重连,跑在进程单例模式中
提供单例模式,可以注册需要的类为单例
支持 gizp deflate 压缩传输


个人喜欢 laravel 的查询构造器和路由的风格,于是将路由和查询构造器都写成了 laravel 风,你可以像 laravel 一样的方式写路由和查数据库。


WorkerA 没有 view 层,更适合做接口的项目,当然目前框架没有提供 JWT 等验证功能,要完成一个标准的 webapi ,你需要自己写一些东西。不过有自动依赖注入的功能,扩展也不算难题。


在此谢谢 workerman 的作者,虽然只是用了 workerman 功能的一小部分,但是依然解决了我自己的很多业务上的难题。


Github 地址 :[url]https://github.com/wazsmwazsm/WorkerA[/url]
框架核心部分地址 :[url]https://github.com/wazsmwazsm/WorkerF[/url]

15 个评论

学习了
感谢分享
感觉里面的数据库类不错啊,正是我想要的
向你学习
谢谢
谢谢回复
共同学习
底层是对 PDO 的一个封装,添加了断线重连。底层的驱动、接口都在这里
https://github.com/wazsmwazsm/WorkerF/tree/master/src/WorkerF/DB
安装报错
有在生产环境稳定运行了吗
你好,报什么错呢
暂时还在观察测试中,目前只有自己在维护,还要忙工作,升级更改可能会慢,请见谅。不建议直接放到生产环境,不过对项目有兴趣的话,欢迎 pr 。
有压测过吗想看看实际性能呢
你好,现在框架有文档里,文档里有,https://www.kancloud.cn/wazsmwazsm/workera/

要回复文章请先登录注册