3

3fe596f01f46a20ddbb324ed62600527a4e.jpg

imi 是基于 PHP 协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 应用开发。

由 Swoole 提供强力驱动,Swoole 拥有常驻内存、协程非阻塞 IO 等特性。

框架遵守 PSR 标准规范,提供 AOP、注解、连接池、请求上下文管理、ORM模型等常用组件。

imi 的模型支持关联关系的定义,增删改查一把梭!

毫秒级的注解及代码热更新,让你在开发时只管一把梭,体验与 fpm 下开发并无二致,保存就刷新,立马看到效果。

与其他专注微服务领域的 Swoole 框架不同,imi 专注单体应用开发。原因很简单:大部分公司都不需要上微服务,单体应用足矣。

imi 框架第一个版本 v0.0.1 首发于 2018 年 6 月 21 日

测试用例持续完善中,目前有 122 个测试,437 个断言。

更新内容

本周主要针对注解、路由底层数据关系存储做了重构,把原本的数组kv存储,改为对象存储。内存占用更少,调用速度更快,维护更加便捷。

截止发布前,imi 兼容了最新的 Swoole 4.4.3 版本。

测试用例持续完善中,目前有 134 个测试,480 个断言。

官网 (https://www.imiphp.com/) 船新改版,感谢 @封尘 大佬~

增强

  • 增加 WebSocket Server 测试用例
  • 增加 TCP Server 测试用例
  • 增加 UDP Server 测试用例
  • 新增 Model 测试用例
  • 增加 Log 测试用例
  • 支持直接从 bin/imi 启动
  • 新增 imiGetEnv() 函数,是 getenv() 函数的封装,支持默认值
  • generate/model 增加 basePath 参数

修复

  • 修复 Model 的 save() 方法执行后,无法通过属性获取自增主键值问题
  • 修复连接分组 status 未生效问题

优化

  • AnnotationManager 重构,使用对象替换键值数组
  • Route 重构,使用对象替换键值数组

联系我们

Github 反馈:https://github.com/Yurunsoft/...

码云仓库:https://gitee.com/yurunsoft/IMI

Segmentfault 提问:https://segmentfault.com/

开源中国 问答:https://www.oschina.net/question

QQ群交流:17916227 点击加群


宇润
768 声望51 粉丝

imi 框架创始人、Swoole 开发组成员、php-src 内核贡献者、TDengine 贡献者、2021 中国开源码力榜前百名。