imi v1.0.1,Swoole 協程應用開發框架

imi 介紹

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

  • 進程、進程池進程,強制開啓協程化

測試用例計劃及進度

  • Aop
  • Config
  • Cache
  • Db
  • Enum
  • Event
  • Inject
  • Redis
  • HttpServer
  • HttpValidate
  • WebSocketServer
  • TCPServer
  • UDPServer
  • Task
  • Lock
  • Log
  • Model
  • Process
  • Utils

聯繫咱們

Github 反饋:github.com/Yurunsoft/I…

碼雲倉庫:gitee.com/yurunsoft/I…

Segmentfault 提問:segmentfault.com/

開源中國 問答:www.oschina.net/question

QQ羣交流:17916227

點擊加羣
點擊加羣
相關文章
相關標籤/搜索