源碼說明:
imi協(xié)程開發(fā)框架是基于 Swoole 的 PHP 協(xié)程開發(fā)框架,它支持 Http、Http2、WebSocket、TCP、UDP、MQTT 等主流協(xié)議的服務(wù)開發(fā),特別適合互聯(lián)網(wǎng)微服務(wù)、即時(shí)通訊聊天im、物聯(lián)網(wǎng)等場(chǎng)景!。
核心組件:
HttpApi、WebSocket、TCP、UDP、MQTT 服務(wù)器
MySQL 連接池 (主從+負(fù)載均衡)
Redis 連接池 (主從+負(fù)載均衡)
超好用的 ORM (Db、Redis、Tree)
毫秒級(jí)熱更新
AOP
Bean 容器
緩存 (Cache)
配置讀寫 (Config)
枚舉 (Enum)
事件 (Event)
門面 (Facade)
驗(yàn)證器 (Validate)
鎖 (Lock)
日志 (Log)
異步任務(wù) (Task)
環(huán)境要求:
Redis、MySQL
imi協(xié)程開發(fā)框架 更新日志:
v2.0.11
增強(qiáng)
熱更新支持重新加載配置文件
新增 Server::getConnections()、Server::getConnectionCount() (#203)
支持往模型中動(dòng)態(tài)寫入數(shù)據(jù),但不支持 toArray() 和序列化
SQL 監(jiān)聽支持捕獲異常
Workerman 環(huán)境啟動(dòng)支持輸出 network 信息
with() 關(guān)聯(lián)預(yù)加載特性
這個(gè)版本實(shí)現(xiàn)了模型關(guān)聯(lián)查詢 with 特性,可以減少查詢次數(shù)提升關(guān)聯(lián)查詢性能
支持在關(guān)聯(lián)注解中設(shè)置 with=true 開啟自動(dòng)預(yù)加載
支持在關(guān)聯(lián)注解中設(shè)置 withFields={“指定序列化字段”}
支持在 Model::query() 后調(diào)用 with() 方法指定預(yù)加載的關(guān)聯(lián)屬性名
支持在 Model::query() 后調(diào)用 with() 方法指定預(yù)加載關(guān)聯(lián)屬性名對(duì)應(yīng)的回調(diào)
支持在 Model::query() 后調(diào)用 withField() 指定查詢出來的模型,序列化時(shí)的字段
Model::queryRelationsList() 支持預(yù)加載查詢
優(yōu)化
改進(jìn)開發(fā)體驗(yàn) (#197)
優(yōu)化 Swoole 下文件掃描性能
兼容關(guān)閉 Swoole 短名稱的場(chǎng)景
優(yōu)化 AppContexts::APP_PATH 處理為絕對(duì)路徑
優(yōu)化 json 錯(cuò)誤拋出異常的容錯(cuò)
單元測(cè)試改進(jìn) (#202)
重構(gòu) HTTP 路由提升性能 (#200)
優(yōu)化 ArrayList 類型不對(duì)應(yīng)時(shí)的提示
生成模型時(shí),將 json 類型字段的 getter 方法設(shè)為引用返回,便于修改數(shù)據(jù)
優(yōu)化一些代碼
修復(fù)
修復(fù) @app.overrideDefaultIgnoreNamespace、@app.overrideDefaultIgnorePaths 配置不生效問題
修復(fù) Request 執(zhí)行 setUri() 時(shí)會(huì)觸發(fā) initUri()
修復(fù)權(quán)限組件轉(zhuǎn)為樹形的問題 (#201)
修復(fù) SessionId 為空字符串時(shí)當(dāng)作正常 Session 的問題
修復(fù)空 Session Json 解析失敗
修復(fù) Swoole RedisServerUtil
修復(fù) Workerman UDP 無法從請(qǐng)求上下文獲取packetData
修復(fù) ManyToMany、PolymorphicToMany、PolymorphicManyToMany 注解指定 fields 參數(shù)無效
搭建教程參考:
寶塔面板linux安裝搭建網(wǎng)站教程以及命令