开源 Swoole 框架 imi v1.0.7加入使用国产木兰宽松许可证的大军

开源 Swoole 框架 imi v1.0.7加入使用国产木兰宽松许可证的大军

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
 

文章转载自 OSCHINA 社区 [http://www.oschina.net]

 

 
上一篇:分布式文件存储 SimpleDFS 宣布开源并使用国产木兰宽松许可
下一篇:詹毅律师:木兰宽松许可(MulanPSL License) 应针对云环境设置相关条款

网友回应

欢迎扫描关注我们的微信公众平台!

欢迎扫描关注我们的微信公众平台!