Releases: imiphp/imi
新增支持 Swagger API 文档生成
新增支持 Swagger API 文档生成
支持在项目中使用 Swagger 注解语法,运行命令,生成 Swagger 文件。
Swagger 是最流行的 API 开发工具,它遵循 OpenAPI Specification(OpenAPI 规范,也简称 OAS)。
Swagger 可以贯穿于整个 API 生态,如 API 的设计、编写 API 文档、测试和部署。
Swagger 是一种通用的,和编程语言无关的 API 描述规范。
imi-apidoc 基于 zircote/swagger-php
开发,100% 支持写法。
Github: https://github.com/imiphp/imi-apidoc
文档地址:https://doc.imiphp.com/dev/generate/swagger.html
增强
-
增强文件日志驱动,支持自动创建目录
-
新增反射容器,更加高效地使用反射
-
生成的模型类注释,现在会使用表注释
-
生成模型工具的 prefix 参数现在支持传入多个前缀
优化
-
优化 MemoryStream 从起始位读取剩余字符串的性能
-
优化一些代码和写法
修复
-
修复定时任务进程残留问题
-
修复断开连接事件,在应用未初始化完毕时的问题
-
修复注解切面的 allow 和 deny 指定多个时的判定问题
-
修复子服务器配置 SSL 导致无法启动的问题
-
修复特殊场景下,扫描注解出错,但不提示的问题
-
修复部分情况下,模型生成表的问题
新增支持 MQTT 服务开发和客户端调用
增强
新增了一个 MQTT 组件,支持开发 MQTT 服务开发和客户端调用。
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。
imi-mqtt:https://github.com/imiphp/imi-mqtt
MQTT 服务端文档:https://doc.imiphp.com/components/mqtt/server.html
MQTT 客户端文档:https://doc.imiphp.com/components/mqtt/client.html
优化
- 优化初始化框架和运行项目的逻辑
修复
-
修复调用 paginate() 分页查询前,使用 bindValues() 报错问题 #58
-
修正 WebSocket、TCP、UDP 中间件使用对象时的问题
-
修复一处偶现bug
v1.2.5
增强
-
启动服务命令新增支持守护进程参数
-
支持禁用 Session 的 Cookie 输出
-
跨域中间件支持设定,当请求为 OPTIONS 时,是否中止后续中间件和路由逻辑
优化
-
优化代码
-
防御性编程
-
优化连接上下文、分组的 Redis 驱动
-
增加运行时目录写权限检测
-
去除错误抑制
-
调整 ArrayData 属性命名,避免冲突
-
调整 LazyArrayObject 属性命名,避免冲突
-
Imi\Server\Session\Session 类使用门面实现 SessionManager 所有方法
-
门面生成时将构造、析构方法去除
修复
- 修复 WebSocket DataParser 配置不生效的问题
v1.2.4
v1.2.3
修复 Inotify 热更新问题
- 修复 Inotify 热更新问题
雪花算法发号组件及其他优化更新
这两周做了一些优化工作,简化了连接池配置写法,老写法依旧支持,新写法更加简单。
另外还发布了一个雪花算法发号组件:https://github.com/imiphp/imi-snowflake
文档地址:https://doc.imiphp.com/components/snowflake.html
增强
-
增加一种连接池配置的简化写法,旧写法依然兼容 (文档)
-
新增 scanEach、hscanEach、sscanEach、zscanEach 简易遍历方法
-
启动时增加 imi 版本号输出
优化
-
优化 FileStream 析构函数中自动关闭打开的文件
-
优化 SessionID 生成
-
优化异步池子 Channel 释放
-
现在 ClassLoader 可以无需手动设置
-
优化一些代码
修复
-
修复方法注释的返回值类型问题 #55
-
修复方法不为 static 问题
-
修复 Redis scan、hscan、sscan、zscan 问题
-
修正一些注释
WebSockset、TCP 长连接服务,重大开发体验提升
增强
-
🚀新增服务器工具类 文档
-
👍新增通道容器 文档
-
封装统一的 PipeMessage 机制 文档
-
新增一种按命名空间指定,模型生成工具生成目标的方式 文档
-
新增使用标记获取连接编号、使用连接编号获取标记批量用法 文档
-
Redis 模型支持 hash_object 存储 文档
-
Redis 模型支持 hash 存储 文档
优化
-
优化 DataParser
-
所有需要设置 Redis 连接池名的地方,现在不设置时都可以使用默认连接池
-
优化 Server 和 Port 代码
-
优化 Facade 生成出来的代码
-
更新 RedisHandler 方法提示
修复
-
修复 Facade 实例化传参问题
-
修复容器单例问题
-
修复重连数据恢复一些问题
-
修复 http2 连接分组释放
v1.1.4
新增断线重连特性
-
连接分组支持恢复上下文时重新进入分组
-
实现连接标记绑定,重连恢复上下文数据
-
Lock::getInstance() 新增支持指定锁id
断线重连特性介绍视频:https://www.bilibili.com/video/BV1GC4y1s7yf