2022 年来了,imi 2.0 经历漫长的开发过程,正式发布后又持续迭代了 4 个月,目前已经比较稳定。
imi 2.0、1.3 作为 LTS 版本,为保持稳定性,持续提供问题修复、安全修复,不再提供功能更新,暂无终止维护时间表。
imi v2.1.0 带来了两个新特性:宏定义和异步日志。并且将最低支持的 Swoole 版本提升至 v4.8,PHP 版本要求保持不变,依然是 PHP >= 7.4。
异步日志
顾名思义,不再需要被日志记录的 IO 拖慢接口响应,一切都是异步的。
只需要在 @app.logger 中增加:'async' => true 就可以启用。
该特性仅 Swoole 有效。
宏定义
支持在 imi 框架中使用宏定义。
支持在 PHP 代码中使用类似 C/C++ 中的宏,进行代码预编译。
可以方便兼容不同版本和环境下运行的 PHP 代码。
在一些场景可以通过预定义常量,来提升性能,减少运行时判断。
本组件基于 Yurunsoft/php-macro 组件,该组件由宇润主导开发。