您现在的位置是:首页 > 文章详情

imi v1.0.7 首个使用木兰宽松许可证的 Swoole 框架

日期:2019-08-15点击:469

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

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

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

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

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

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

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

更新日志

imi 成为首个使用木兰宽松许可证的 Swoole 框架,宇润此次修改开源协议的理由是:

首先,木兰宽松是中国第一个自己的开源协议。木兰宽松比 imi 之前使用的 Apache V2 更加自由,更加符合实际。最后,即便别人侵权,你想要通过法律途径维权成本很高,基本都是不了了之。所以选什么协议都一样了,支持国产!

增强

  • 开源协议从 Apache V2 切换为 木兰宽松许可证(Mulan PSL v1) ,更加自由!

  • 增加自定义 SessionId 获取方式的测试用例(感谢 @loyating 

  • View 注解的 template 为空时默认使用当前方法名

  • 新增 Imi\Util\File::isEmptyDir() 方法,判断目录是否为空

  • 新增 InEnum 验证注解,用于验证值是否存在于枚举列表中

  • Request 对象增加 request()、hasRequest() 方法,request 数据包含 get/post/cookie

  • 新增验证类测试用例

  • 新增自动验证注解测试用例

修复

  • 修复 ConnectContextRedis 导致进程阻塞的问题

  • 修复 WebSocket 热重启后无法握手问题

  • 修复使用 vendor/bin/imi 无法启动项目问题

优化

  • 将 IMI 文字描述大写全部改为小写 imi

  • 增加 HttpServer 测试用例的请求日志记录

  • WS 请求测试后将 YurunHttp Handler 切换为 Curl

  • 重构 ViewHandler

  • 增加测试脚本配置和运行说明,测试用例中的 MySQL、Redis 的配置,都可以通过系统环境变量配置

开始使用

创建 Http Server 项目:composer create-project imiphp/project-http

创建 WebSocket Server 项目:composer create-project imiphp/project-websocket

创建 TCP Server 项目:composer create-project imiphp/project-tcp

创建 UDP Server 项目:composer create-project imiphp/project-udp

完全开发手册

联系我们

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

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

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

原文链接:https://www.oschina.net/news/109092/imi-1-0-7-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章