imi

imi 是一款支持长连接微服务分布式的 PHP 开发框架,它可以运行在 PHP-FPM、Swoole、Workerman、RoadRunner 等多种容器环境下。它支持 HttpApi、WebSocket、TCP、UDP、MQTT 服务的开发。特别适合互联网微服务、即时通讯聊天im、物联网等场景!QQ群:17916227

OTHER License

Downloads
54.5K
Stars
1.2K
Committers
38

Bot releases are hidden (Show)

imi - v2.1.47

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)

测试

  • 提升测试覆盖率,多项修复和改进 (#518)

文档

  • 优化中文分词搜索算法,搜索结果更加精确

  • 数据库迁移组件文档中,生成同步命令由migration/patch 修改migration/dump (#528)

  • 完善文档 (#530)

计划废弃

  • 计划废弃 Imi\Model\ModelManager 类

New Contributors

Full Changelog: https://github.com/imiphp/imi/compare/v2.1.46...v2.1.47

imi - v2.0.55

Published by Yurunsoft over 1 year ago

  • 修复判断事务时Db实例错误 (#532)

  • 修复 Swoole BASE 模式下获取 masterPid 错误 (#526)

  • 修复非 POST 请求使用 getParsedBody() 无法获取 JSON 反序列化数据 (#523)

imi - v2.1.46

Published by Yurunsoft over 1 year ago

增强

优化

  • 优化 Cache 配置,option 不再是必选项

修复

文档

  • 优化文档样式

测试

Full Changelog: https://github.com/imiphp/imi/compare/v2.1.45...v2.1.46

imi - v2.1.45

Published by Yurunsoft over 1 year ago

增强

优化

文档

修复

  • 修复 gRPC Http 代理,无法代理非全小写 grpc- 开头的请求头

  • 修复协程连接池极端情况下,获取连接会卡死而不会报超时

  • 修复部分场景不会抛出异常

  • 修复限流器注解 RateLimit fill 参数默认值

  • 修复连接池心跳在 Swoole 消息队列消费进程中不执行 by @Yurunsoft in https://github.com/imiphp/imi/pull/502

New Contributors

Full Changelog: https://github.com/imiphp/imi/compare/v2.1.44...v2.1.45

imi - v2.0.54

Published by Yurunsoft over 1 year ago

  • 修复连接池心跳在 Swoole 消息队列消费进程中不执行 (#502)

  • 修复部分场景不会抛出异常

  • 修复限流器注解 RateLimit fill 参数默认值

imi - v2.1.44

Published by Yurunsoft over 1 year ago

imi - v2.0.53

Published by Yurunsoft over 1 year ago

  • 修复 MySQL 的 json 操作时,无法用双引号把字段名括起来 (#494)
imi - v2.1.43

Published by Yurunsoft over 1 year ago

增强

  • 增加环境变量 IMI_SCAN_STATISTICS,支持关闭输出扫描阶段的日志 (#488) (文档)
  • 新增内存缓存驱动 (#490) (文档)

优化

  • 将缓存基类中的 2 个内部方法标记为 3.0 废弃
  • 优化一些代码
  • 优化文档样式

修复

  • 修复模型查询时手动指定字段,查询结果序列化可能会出现数字字段名 (#492)
  • 修复 imi-phar 与 php-cs-fixer 的兼容性 (#491)
imi - v2.1.42

Published by Yurunsoft over 1 year ago

此版本为紧急修复问题而发布!

  • 修复 setFieldInc、setFieldDec
imi - v2.1.41

Published by Yurunsoft over 1 year ago

增强

  • 增强查询构建器的一些方法支持传参数绑定 (#481)

修复

  • 修复在 workerman 队列在 phar 模式下运行报错 (#484)

  • 修复 Workerman 下队列进程残留 (#485)

imi - v2.1.40

Published by Yurunsoft over 1 year ago

增强

  • 支持 Phar 构建前后回调配置 (#478)

  • 支持 phar 打包后写出资源文件 (#478)

  • 支持关闭定时任务执行成功的日志 (#477)

修复

  • 修复 phar 模式下运行应用问题

  • 修复 phar 打包没有包含 composer.json

文档

  • 更新文档 (#479)

  • 使用 ChatGPT 优化了一部分文档内容(将持续推进)

imi - v2.1.39

Published by Yurunsoft over 1 year ago

  • 支持 MySQL 查询构建器 insert ignore into (#476)
imi - v2.1.38

Published by Yurunsoft over 1 year ago

优化

  • 优化定时任务注解参数验证 (#470)

  • 优化 Swoole RedisServerUtil 的记录错误日志方式

文档

  • 完善文档 增加配置智能读取的限制条件 (#471)

  • 更新 HTTP 验证器文档

  • 完善 SQL 监听文档

修复

  • 修复 Redis 连接上下文 delayDestroy 没有真正删除数据 (#475)

  • 修复定时任务指定 force=true 后,启动服务会执行两次 (#474)

  • 修复测试未被执行

imi - v2.0.52

Published by Yurunsoft over 1 year ago

  • 修复 Redis 连接上下文 delayDestroy 没有真正删除数据 (#475)

  • 修复定时任务指定 force=true 后,启动服务会执行两次 (#474)

imi - v2.1.37

Published by Yurunsoft over 1 year ago

修复

  • 修复 phpunit 测试,锁定版本号
  • 修复 Workerman Gateway 兼容性 (#469)
  • 修复组件自动发版
imi - v2.0.51

Published by Yurunsoft over 1 year ago

  • 修复 phpunit 测试,锁定版本号
  • 修复 Workerman Gateway 兼容性 (#469)
  • 修复 Workerman v4.1.5 兼容性
  • 修复组件自动发版
imi - v2.1.36

Published by Yurunsoft over 1 year ago

增强

  • 实现数据库查询构建器的指定分区操作 (#466)

  • Imi\Util\System::getCpuCoresNum() 支持 MacOS 系统 (#468)

文档

  • 完善文档
imi - v2.1.35

Published by Yurunsoft almost 2 years ago

  • 修复 Workerman v4.1.5 兼容性

  • 修复:Workerman HTTP 保持长连接遵循 RFC 标准

  • 完善文档

  • 新版 logo 上线

imi - v2.1.34

Published by Yurunsoft almost 2 years ago

增强

优化

  • 优化解决 Statement 缓存数量过多问题 (#464)

  • 优化查询构建器的 limit() 操作值也通过预处理绑定

  • 优化分页查询,统计记录数量时移除排序提升性能

imi - v2.1.33

Published by Yurunsoft almost 2 years ago

增强

  • ProtobufUtil::getMessageValue() 支持可遍历对象,无法处理的原样返回

优化

  • 删除不必要文件

  • 优化连接池 resource 配置为空,不自动填充连接

  • 优化了一些代码

文档

  • 修改jwt文档命名空间引入问题 (#459)

  • 增加文档《通过配置中心配置连接池》

修复

  • 修复生成模型 bit 类型字段默认值

  • 修复 pgsql 生成模型中的 numeric 字段类型属性的类型错误

Package Rankings
Top 1.63% on Packagist.org
Badges
Extracted from project README
Latest Version Php Version Swoole Version imi Doc imi License star codecov 点击加群 贡献者
Related Projects