imi協程開發框架更新日誌:
v2.1.0
2022年來了,imi2.0經歷漫長的開發過程,正式發布後又持續迭代了4個月,目前已經比較穩定。
imi2.0、1.3作為LTS版本,為維持穩定性,持續提供問題修復、安全修復,不再提供功能更新,暫無終止維護時間表。
imiv2.1.0帶來了兩個新功能:巨集定義和非同步日誌。並將最低支援的Swoole版本提升至v4.8,PHP版本要求保持不變,依然是PHP>=7.4。
非同步日誌顧名思義,不再需要被日誌記錄的IO拖慢介面回應,一切都是非同步的。
只需要在@app.logger中增加:'async'=>true就可以啟用。
此特性僅Swoole有效。
巨集定義支援在imi框架中使用巨集定義。
支援在PHP程式碼中使用類似C/C++中的宏,進行程式碼預編譯。
可以方便相容於不同版本和環境下運行的PHP程式碼。
在一些場景可以透過預先定義常數,來提升效能,減少運行時判斷。
本元件基於Yurunsoft/php-macro元件,該元件由宇潤主導開發。
imi是基於Swoole的PHP協程開發框架,它支援Http、Http2、WebSocket、TCP、UDP、MQTT等主流協定的服務開發,特別適合網路微服務、即時通訊聊天im、物聯網等場景! 。
核心組件:
HttpApi、WebSocket、TCP、UDP、MQTT伺服器
MySQL連線池(主從+負載平衡)
Redis連接池(主從+負載平衡)
超好用的ORM(Db、Redis、Tree)
毫秒級熱更新
AOP
Bean容器緩存(Cache)
配置讀寫(Config)
列舉(Enum)
事件(Event)
門面(Facade)
驗證器(Validate)
鎖(Lock)
日誌(Log)
非同步任務(Task)
環境要求:
Redis、MySQL