imi v1.0.7 首個使用木蘭寬鬆許可證的 Swoole 框架

3fe596f01f46a20ddbb324ed62600527a4e.jpg

imi 是基於 PHP 協程應用開發框架,它支持 HttpApi、WebSocket、TCP、UDP 應用開發。php

由 Swoole 提供強力驅動,Swoole 擁有常駐內存、協程非阻塞 IO 等特性。git

框架遵照 PSR 標準規範,提供 AOP、註解、鏈接池、請求上下文管理、ORM模型等經常使用組件。github

imi 的模型支持關聯關係的定義,增刪改查一把梭!web

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

與其餘專一微服務領域的 Swoole 框架不一樣,imi 專一單體應用開發。緣由很簡單:大部分公司都不須要上微服務,單體應用足矣。websocket

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

測試用例持續完善中,目前有 177 個測試,733 個斷言。cookie

更新日誌

imi 成爲首個使用木蘭寬鬆許可證的 Swoole 框架,宇潤這次修改開源協議的理由是:composer

首先,木蘭寬鬆是中國第一個本身的開源協議。木蘭寬鬆比 imi 以前使用的 Apache V2 更加自由,更加符合實際。最後,即使別人侵權,你想要經過法律途徑維權成本很高,基本都是不了了之。因此選什麼協議都同樣了,支持國產!框架

加強

  • 開源協議從 Apache V2 切換爲 木蘭寬鬆許可證(Mulan PSL v1) ,更加自由!
  • 增長自定義 SessionId 獲取方式的測試用例(感謝 @loyating
  • View 註解的 template 爲空時默認使用當前方法名
  • 新增 ImiUtilFile::isEmptyDir() 方法,判斷目錄是否爲空
  • 新增 InEnum 驗證註解,用於驗證值是否存在於枚舉列表中
  • Request 對象增長 request()、hasRequest() 方法,request 數據包含 get/post/cookie
  • 新增驗證類測試用例
  • 新增自動驗證註解測試用例

修復

  • 修復 ConnectContextRedis 致使進程阻塞的問題
  • 修復 WebSocket 熱重啓後沒法握手問題
  • 修復使用 vendor/bin/imi 沒法啓動項目問題

優化

  • 將 IMI 文字描述大寫所有改成小寫 imi
  • 增長 HttpServer 測試用例的請求日誌記錄
  • WS 請求測試後將 YurunHttp Handler 切換爲 Curl
  • 重構 ViewHandler
  • 增長測試腳本配置和運行說明,測試用例中的 MySQL、Redis 的配置,均可以經過系統環境變量配置

開始使用

建立 Http Server 項目:composer create-project imiphp/project-httpsocket

建立 WebSocket Server 項目:composer create-project imiphp/project-websocket

建立 TCP Server 項目:composer create-project imiphp/project-tcp

建立 UDP Server 項目:composer create-project imiphp/project-udp

徹底開發手冊

聯繫咱們

Github 反饋:https://github.com/Yurunsoft/...

碼雲倉庫:https://gitee.com/yurunsoft/IMI

Segmentfault 提問:https://segmentfault.com/

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

QQ羣交流:17916227 點擊加羣

相關文章
相關標籤/搜索