内容简介:imi 介绍 imi 是基于 PHP 协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 应用开发。 由 Swoole 提供强力驱动,Swoole 拥有常驻内存、协程非阻塞 IO 等特性。 框架遵守 PSR 标准规范,提供 AOP、注解、连...
imi 介绍
imi 是基于 PHP 协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 应用开发。
由 Swoole 提供强力驱动,Swoole 拥有常驻内存、协程非阻塞 IO 等特性。
框架遵守 PSR 标准规范,提供 AOP、注解、连接池、请求上下文管理、ORM模型等常用组件。
imi 的模型支持关联关系的定义,增删改查一把梭!
与其他专注微服务领域的 Swoole 框架不同,imi 专注单体应用开发。原因很简单:大部分公司都不需要上微服务,单体应用足矣。
imi 框架第一个版本 v0.0.1 首发于 2018 年 6 月 21 日
更新内容
新增
-
增加单元测试(PHP7.1-7.4、nightly 全部通过),从此不再担心修复一个 bug,产生更多 bug。这是一个长期任务,需要不断充实测试用例。参与开源项目经历是个很好的面试谈判筹码,欢迎大家来贡献测试代码,你好我好大家好!
-
新增 Imi\Util\Coroutine::create(),与 imigo() 行为一致
-
新增 Imi\Util\Http\MessageUtil 类
-
新增框架优先级定义,常量类:Imi\Util\ImiPriority
修复
-
修复热重启问题:worker exit timeout, forced to terminate
-
修复 PDO Statement 无法命中缓存问题
-
修复日志重复写入问题
-
修复 MySQL->query() 方法不记录最后执行 SQL 语句问题
-
修复当设置 task_enable_coroutine 但不设置 enable_coroutine 时,task 事件监听参数错误问题
-
修复类型声明
-
修复 RedisManager::getNewInstance() 无法被 RedisManager::release() 释放问题
-
修正 Redis 相关类型注释
-
修复 withAddedHeader() 问题
-
修复使用 TAutoInject 时,有父类导致无法正常注入的问题
-
修复Callback、CallableValue注解无法注入属性问题
-
修复配置值注入、常量注入注解,无法注入到属性问题
优化
-
优化 BeanProxy::getConfigInjects()
-
优化 Imi\Db\Query\Result
-
非 worker 进程投递的 task,不再自动 finish
-
同步池子 getResource() 不再有可能返回 null,一律抛出异常
-
ITaskHandler->handle() 支持返回值自动 finish
-
规范内部监听 IMI.INITED 事件的优先级
-
优化 BeanProxy,现在不用等到回收周期,立即会被释放
-
注入属性值的注解类改为 Imi\Aop\Annotation\BaseInjectValue
-
进程、进程池进程,强制开启协程化
测试用例计划及进度
[√] Aop
[√] Config
[ ] Cache
[√] Db
[√] Enum
[√] Event
[√] Inject
[√] Redis
[√] HttpServer
[√] HttpValidate
[ ] WebSocketServer
[ ] TCPServer
[ ] UDPServer
[√] Task
[ ] Lock
[ ] Log
[ ] Model
[ ] Process
[ ] Utils
联系我们
Github 反馈:https://github.com/Yurunsoft/IMI/issues
码云仓库:https://gitee.com/yurunsoft/IMI
开源中国 问答:https://www.oschina.net/question
以上所述就是小编给大家介绍的《imi v1.0.1,Swoole 协程应用开发框架》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- MediaPipe:跨平台机器学习应用开发框架
- Ionic 4.0.2 发布,移动应用开发框架
- Ionic 4.0.2 发布,移动应用开发框架
- Ionic 4.3.0 发布,移动应用开发框架
- Ionic 4.4.0 发布,移动应用开发框架
- Ionic 4.6.0 发布,移动应用开发框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。