imi v1.0.8,新增支持 Swoole Tracker、Smarty

宇润
 宇润
发布于 2019年08月23日
收藏 3

imi 是基于 PHP 协程应用开发框架,它支持 HttpApi、WebSocket、TCP、UDP 应用开发。

由 Swoole 提供强力驱动,Swoole 拥有常驻内存、协程非阻塞 IO 等特性。

框架遵守 PSR 标准规范,提供 AOP、注解、连接池、请求上下文管理、ORM模型等常用组件。

imi 的模型支持关联关系的定义,增删改查一把梭!

毫秒级的注解及代码热更新,让你在开发时只管一把梭,体验与 fpm 下开发并无二致,保存就刷新,立马看到效果。

与其他专注微服务领域的 Swoole 框架不同,imi 专注单体应用开发。原因很简单:大部分公司都不需要上微服务,单体应用足矣。

imi 框架第一个版本 v0.0.1 首发于 2018 年 6 月 21 日

本周的更新,第一阶段的单元测试编写工作完成。

imi 的单侧目前有 235 个测试用例,1035 个断言(不含独立组件)。

imi 的 travis 自动化测试涵盖了 PHP 7.1-7.3、Swoole 4.3.x、4.4.x、master。宇润和 Swoole 开发组大佬们保持着密切联系,发现问题立即反馈。所以当 Swoole 发布新版时,imi 能够很轻松地以最快速度做到兼容。

目前 imi 保持着每周一个小版本的速度进行更新迭代,各种实用组件正在开发中。

imi 组件库:https://github.com/imiphp

欢迎各路新人和大佬的加入,只要有心,就可以参与进来!

本周具体更新日志如下:

增强

修复

  • 修复 Fixed Imi\Db\Query::WhereEx() 问题(@loyating #25)

  • 修复 ArrayUtil::remove() 方法无法移除对象问题,新增 ArrayUtil::removeKeepKey() 方法

  • 修复测试用例在低配电脑上出现的奇怪问题(Swoole v4.4.4 更新后出现)

  • 修复 File::path() 拼接 xxx:// 路径问题

  • 修复 Imi\Util\Imi::checkCompareValue() 判断不等于结果不正确问题

  • 修复随机生成小数是科学计数格式的问题

优化

  • 重构 Event,移除 KVStorage 依赖,使用类对象代替 kv 数组存储底层数据

  • 优化 Http Middleware 机制

  • 优化 WebSocket Middleware 机制

  • 优化 TCP Middleware 机制

  • 优化 UDP Middleware 机制

  • 优化测试用例

  • Imi\Util\ClassObject 类注释完善

  • 支持将 task_worker_num 设为 0

  • 优化 AppInitReceiver

  • 移除 File::readFile()、File::writeFile() 方法(Hook 协程化后用 file_get_contents()、file_put_contents() 即可)

  • 移除 KVStorage

  • 文件日志驱动写入时上锁

  • Query 动态参数编号全部从 1 开始

开始使用

创建 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]
本文标题:imi v1.0.8,新增支持 Swoole Tracker、Smarty
加载中

精彩评论

宇润
宇润
Swoole Tracker 了解一下?现在使用 imi 可以很轻松地使用 Swoole Tracker 追踪监控你的请求。全线支持 Http、WebSocket、TCP、UDP 服务!
https://www.swoole-cloud.com/tracker.html

最新评论(4

亦可塞艇
亦可塞艇
smarty...败笔. 不如原生
宇润
宇润
可选,给需要的人用的,而且并不是内置,是独立的组件
海诺者
海诺者
原生有时不是最佳选择
宇润
宇润
Swoole Tracker 了解一下?现在使用 imi 可以很轻松地使用 Swoole Tracker 追踪监控你的请求。全线支持 Http、WebSocket、TCP、UDP 服务!
https://www.swoole-cloud.com/tracker.html
返回顶部
顶部