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

3fe596f01f46a20ddbb324ed62600527a4e.jpg

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

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

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

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

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

与其余专一微服务领域的 Swoole 框架不一样,imi 专一单体应用开发。缘由很简单:大部分公司都不须要上微服务,单体应用足矣。websocket

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

测试用例持续完善中,目前有 177 个测试,733 个断言。cookie

更新日志

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

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

加强

  • 开源协议从 Apache V2 切换为 木兰宽松许可证(Mulan PSL v1) ,更加自由!
  • 增长自定义 SessionId 获取方式的测试用例(感谢 @loyating
  • View 注解的 template 为空时默认使用当前方法名
  • 新增 ImiUtilFile::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-httpsocket

建立 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/...

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

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

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

QQ群交流:17916227 点击加群

相关文章
相关标签/搜索