推薦16-imi v1.0.12 發佈:優化框架底層及請求上下文處理

  • 2019 年 10 月 6 日
  • 筆記

imi 是基於 PHP Swoole 的高性能協程應用開發框架,它支持 HttpApi、WebSocket、TCP、UDP 服務的開發。

在 Swoole 的加持下,相比 php-fpm 請求響應能力,I/O密集型場景處理能力,有着本質上的提升。

imi 框架擁有豐富的功能組件,可以廣泛應用於互聯網、移動通信、企業軟件、雲計算、網絡遊戲、物聯網(IOT)、車聯網、智能家居等領域。可以使企業 IT 研發團隊的效率大大提升,更加專註於開發創新產品。

毫秒級的註解及代碼熱更新,讓你在開發時只管一把梭,體驗與 fpm 下開發並無二致,保存就刷新,立馬看到效果。

與其他專註微服務領域的 Swoole 框架不同,imi 專註單體應用開發。原因很簡單:大部分公司都不需要上微服務,單體應用足矣。

官方網站: https://www.imiphp.com/

imi 框架第一個版本 v0.0.1 首發於 2018 年 6 月 21 日

本周主要優化了框架底層、請求上下文處理性能,另外做了一些功能上的小增強。

測試用例做到全覆蓋:PHP 7.1、7.2、7.3、7.4、nightly、Swoole 4.3、4.4、master

新增

  • 驗證註解新增支持:非必驗證參數,只有當值存在才驗證
  • 新增 File::putContents() 方法,寫入內容到文件,如果目錄不存在自動創建多級目錄
  • File::createFile() 新增 $content 參數
  • 新增 ConnectContext::muiltiSet() 方法批量設置上下文數據
  • 新增 RequestContext::use() 方法

優化

  • 優化一波框架底層性能
  • 優化一些請求上下文處理性能
  • 優化 StatementManager
  • 支持 @app.db.statement.cache 配置是否開啟 statement 緩存,默認開啟
  • ConnectContext::create() 支持傳入初始化參數

修復

  • 修復在自定義進程中操作 ConnectContext、ConnectGroup 導致進程卡死問題

開始使用

創建 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

完全開發手冊: https://doc.imiphp.com/

imi 組件庫: https://github.com/imiphp

imi 官方指定 Http 客戶端(替代 Curl): https://github.com/yurunsoft/yurunhttp

歡迎各路新人和大佬的加入貢獻代碼的行列中,修正錯別字、錯誤拼寫、提交代碼,我們全都歡迎~