imi 是基於 PHP 協程應用開發框架,它支持 HttpApi、WebSocket、TCP、UDP 應用開發。git
由 Swoole 提供強力驅動,Swoole 擁有常駐內存、協程非阻塞 IO 等特性。github
框架遵照 PSR 標準規範,提供 AOP、註解、鏈接池、請求上下文管理、ORM模型等經常使用組件。segmentfault
imi 的模型支持關聯關係的定義,增刪改查一把梭!緩存
與其餘專一微服務領域的 Swoole 框架不一樣,imi 專一dan體應用開發。緣由很簡單:大部分公司都不須要上微服務,dan體應用足矣。框架
imi 框架第一個版本 v0.0.1 首發於 2018年6月21日微服務
增長單元測試(PHP7.1-7.四、nightly 所有經過),今後再也不擔憂修復一個 bug,產生更多 bug。這是一個長期任務,不斷充實測試用例,也歡迎你們來貢獻測試代碼!單元測試
新增 Imi\Util\Coroutine::create(),與 imigo() 行爲一致測試
新增 Imi\Util\Http\MessageUtil 類優化
新增框架優先級定義,常量類:Imi\Util\ImiPriority.net
修復熱重啓問題:worker exit timeout, forced to terminate
修復 PDO Statement 沒法命中緩存問題
修復日誌重複寫入問題
修復 MySQL->query() 方法不記錄最後執行 SQL 語句問題
修復當設置task_enable_coroutine但不設置enable_coroutine時,task事件監聽參數錯誤問題
修復類型聲明
修復 RedisManager::getNewInstance() 沒法被 RedisManager::release() 釋放問題
修正 Redis 相關類型註釋
修復 withAddedHeader() 問題
修復使用 TAutoInject 時,有父類致使沒法正常注入的問題
修復Callback、CallableValue註解沒法注入屬性問題
修復配置值注入、常量注入註解,沒法注入到屬性問題
優化 BeanProxy::getConfigInjects()
優化 Imi\Db\Query\Result
非 worker 進程投遞的 task,再也不自動 finish
同步池子 getResource() 再也不有可能返回 null,一概拋出異常
ITaskHandler->handle() 支持返回值自動 finish
規範內部監聽 IMI.INITED 事件的優先級
優化 BeanProxy,如今不用等到回收週期,當即會被釋放
注入屬性值的註解類改成 Imi\Aop\Annotation\BaseInjectValue
進程、進程池進程,強制開啓協程化
Github 反饋:github.com/Yurunsoft/I…
Segmentfault 提問:segmentfault.com/
開源中國 問答:www.oschina.net/question