imi 是一款支持长连接微服务分布式的 PHP 开发框架,它可以运行在 PHP-FPM、Swoole、Workerman、RoadRunner 等多种容器环境下。它支持 HttpApi、WebSocket、TCP、UDP、MQTT 服务的开发。特别适合互联网微服务、即时通讯聊天im、物联网等场景!QQ群:17916227
OTHER License
Bot releases are visible (Hide)
Published by Yurunsoft over 1 year ago
数据库查询构建器支持全文搜索(MySQL+PostgreSQL) (#533) (文档)
支持 PostgreSQL 生成模型配置 bean 和 incrUpdate 参数 (#524)
增强:Imi\Lock\Lock 类中的相关方法增加 $lockId 参数 (#520) (文档)
pgsql 模型字段的创建更新时间 time、timetz、timestamp、timest 支持设置时间精度 (文档)
支持绑定上传文件对象到控制器方法参数 (#531) (文档)
统一静态类声明方式
优化:非 Swoole、Workerman 环境使用 Timer 抛出异常
删除无用类
优化模型 DDL 注解的 decode 参数,允许设为 null
优化 pgsql 插入数据获取最后插入ID的性能
改进模型自动创建时间和更新时间 (#525)
优化格式化可读字节单位算法
优化了一些代码
修复并标记废弃 Imi\Util\DateTime::getLastWeek(),增加 Imi\Util\DateTime::getPrevWeek()
修复 DelayServerBeanCallable、DelayBeanCallable 引用返回值
修复 Imi\Util\File::enumFile()、Imi\Util\File::enumFileSync() 错误的返回值注释
修复 FilterableList
修复 Request::getRequestTarget() 错误的值、ServerRequest::post() 不支持非数组、MemoryStream 偏移量处理
修复 Imi\Util\Text::endwith()
修复 PHP 8.2 兼容性(Creation of dynamic property)
修复事务嵌套,部分回滚事务
修复数据库驱动 lastStmt 赋值类型错误
修复非 POST 请求使用 getParsedBody() 无法获取 JSON 反序列化数据 (#523)
修复 Swoole 5 PostgreSQL 客户端 lastInsertId
修复 Swoole BASE 模式下获取 masterPid 错误 (#526)
修复 BASE 模式下使用 masterPID 的地方改用 managerPID
修复查询构建器 join
方法传入 $where
参数的报错 (#529)
修复 pgsql 生成模型,计算长度和精度的错误
修复判断事务时Db实例错误 (#532)
修复在 pgsql 字段默认值是表达式时,模型字段默认值不正确的问题 (#534)
修复数据库驱动 Statement 类在未查询时也会更新最后插入ID的问题 (#535)
优化中文分词搜索算法,搜索结果更加精确
数据库迁移组件文档中,生成同步命令由migration/patch 修改migration/dump (#528)
完善文档 (#530)
Full Changelog: https://github.com/imiphp/imi/compare/v2.1.46...v2.1.47
Published by Yurunsoft over 1 year ago
修复判断事务时Db实例错误 (#532)
修复 Swoole BASE 模式下获取 masterPid 错误 (#526)
修复非 POST 请求使用 getParsedBody() 无法获取 JSON 反序列化数据 (#523)
Published by Yurunsoft over 1 year ago
新增使用 Protobuf 的 gRPC HTTP 网关客户端 by @Yurunsoft in https://github.com/imiphp/imi/pull/513
模型查询构建器支持定义表别名 by @NHZEX in https://github.com/imiphp/imi/pull/507
Imi\Util\Random 新增 float() 和 bytes() 方法 by @Yurunsoft in https://github.com/imiphp/imi/pull/511
修复 php-fpm SSE
修复部分场景下会出现报错:Typed property xxx must not be accessed before initialization by @Yurunsoft in https://github.com/imiphp/imi/pull/509
修复 Model::query() 查询动态指定不存在的字段,序列化时不返回该字段 by @Yurunsoft in https://github.com/imiphp/imi/pull/512
解决开发依赖目录软链产生死循环问题 by @NHZEX in https://github.com/imiphp/imi/pull/514
Full Changelog: https://github.com/imiphp/imi/compare/v2.1.45...v2.1.46
Published by Yurunsoft over 1 year ago
异步执行新增 Defer、DeferAsync 注解 by @Yurunsoft in https://github.com/imiphp/imi/pull/503
支持优雅的 SSE 服务端推送功能 by @Yurunsoft in https://github.com/imiphp/imi/pull/506
优化 MemoryStream 性能
优化消息队列中使用 Redis 连接,使用完即释放 by @Yurunsoft in https://github.com/imiphp/imi/pull/500
更新 monolog 版本 by @NHZEX in https://github.com/imiphp/imi/pull/504
更新php-cs-fixer
并优化开发环境依赖 by @NHZEX in https://github.com/imiphp/imi/pull/505
修改文档生成命令 by @xiaohe4966 in https://github.com/imiphp/imi/pull/496
修改文档 请求上下文 by @xiaohe4966 in https://github.com/imiphp/imi/pull/499
修复 gRPC Http 代理,无法代理非全小写 grpc- 开头的请求头
修复协程连接池极端情况下,获取连接会卡死而不会报超时
修复部分场景不会抛出异常
修复限流器注解 RateLimit fill 参数默认值
修复连接池心跳在 Swoole 消息队列消费进程中不执行 by @Yurunsoft in https://github.com/imiphp/imi/pull/502
Full Changelog: https://github.com/imiphp/imi/compare/v2.1.44...v2.1.45
Published by Yurunsoft over 1 year ago
修复连接池心跳在 Swoole 消息队列消费进程中不执行 (#502)
修复部分场景不会抛出异常
修复限流器注解 RateLimit fill 参数默认值
Published by Yurunsoft over 1 year ago
ci
环境 by @NHZEX in https://github.com/imiphp/imi/pull/495
Published by Yurunsoft over 1 year ago
Published by Yurunsoft over 1 year ago
此版本为紧急修复问题而发布!
Published by Yurunsoft over 1 year ago
修复在 workerman 队列在 phar 模式下运行报错 (#484)
修复 Workerman 下队列进程残留 (#485)
Published by Yurunsoft over 1 year ago
支持 Phar 构建前后回调配置 (#478)
支持 phar 打包后写出资源文件 (#478)
支持关闭定时任务执行成功的日志 (#477)
修复 phar 模式下运行应用问题
修复 phar 打包没有包含 composer.json
更新文档 (#479)
使用 ChatGPT 优化了一部分文档内容(将持续推进)
Published by Yurunsoft over 1 year ago
Published by Yurunsoft over 1 year ago
优化定时任务注解参数验证 (#470)
优化 Swoole RedisServerUtil 的记录错误日志方式
完善文档 增加配置智能读取的限制条件 (#471)
更新 HTTP 验证器文档
完善 SQL 监听文档
修复 Redis 连接上下文 delayDestroy 没有真正删除数据 (#475)
修复定时任务指定 force=true 后,启动服务会执行两次 (#474)
修复测试未被执行
Published by Yurunsoft over 1 year ago
修复 Redis 连接上下文 delayDestroy 没有真正删除数据 (#475)
修复定时任务指定 force=true 后,启动服务会执行两次 (#474)
Published by Yurunsoft over 1 year ago
Published by Yurunsoft over 1 year ago
Published by Yurunsoft over 1 year ago
实现数据库查询构建器的指定分区操作 (#466)
Imi\Util\System::getCpuCoresNum()
支持 MacOS 系统 (#468)
Published by Yurunsoft almost 2 years ago
修复 Workerman v4.1.5 兼容性
修复:Workerman HTTP 保持长连接遵循 RFC 标准
完善文档
新版 logo 上线
Published by Yurunsoft almost 2 years ago
支持模型自定义关联 (#463)
支持设置 Statement 最大缓存数量 (#464)
优化解决 Statement 缓存数量过多问题 (#464)
优化查询构建器的 limit()
操作值也通过预处理绑定
优化分页查询,统计记录数量时移除排序提升性能
Published by Yurunsoft almost 2 years ago
删除不必要文件
优化连接池 resource 配置为空,不自动填充连接
优化了一些代码
修改jwt文档命名空间引入问题 (#459)
增加文档《通过配置中心配置连接池》
修复生成模型 bit 类型字段默认值
修复 pgsql 生成模型中的 numeric 字段类型属性的类型错误