2018-07-29 更新
最小版本升級 1.1.0 ==> 1.1.1
完善 IOC 容器,解決 IOC 容器只能依賴注入一層的問題。
修復(fù)平滑啟動(dòng)不能響應(yīng)配置修改的問題。
修復(fù)動(dòng)態(tài)路由緩存內(nèi)存泄漏導(dǎo)致進(jìn)程重啟的問題,使用 LRU 算法控制了緩存的大小。
2018-07-15 更新
WorkerA 發(fā)布了 1.1 版本,新增了中間件、動(dòng)態(tài)路由、異常 Handler 等功能。
修復(fù)若干 bug,改善了很多不足。
編寫了框架的文檔:https://www.kancloud.cn/wazsmwazsm/workera/691859
2017-10-18 更新
添加了 redis 支持
=============
接觸 workerman 一個(gè)多月,讓我重新認(rèn)識(shí)了 PHP。很佩服 workerman 的性能和穩(wěn)定性。
之前有用 laravel \ lumen 做一個(gè)接口的項(xiàng)目,雖然 laravel 的開發(fā)很方便,但是由于服務(wù)器配置和傳統(tǒng) wnmp wamp 模型的限制,QPS 小的可憐。于是用 workerman 寫一個(gè)小型的 HTTP 框架的想法就出來了。
WorkerA 目前只寫了一個(gè)月不到,第一版發(fā)布,實(shí)現(xiàn)了一些基礎(chǔ)功能。
使用自動(dòng)依賴注入
提供 mysql 驅(qū)動(dòng)、支持?jǐn)嗑€重連,跑在進(jìn)程單例模式中
提供單例模式,可以注冊需要的類為單例
支持 gizp deflate 壓縮傳輸
個(gè)人喜歡 laravel 的查詢構(gòu)造器和路由的風(fēng)格,于是將路由和查詢構(gòu)造器都寫成了 laravel 風(fēng),你可以像 laravel 一樣的方式寫路由和查數(shù)據(jù)庫。
WorkerA 沒有 view 層,更適合做接口的項(xiàng)目,當(dāng)然目前框架沒有提供 JWT 等驗(yàn)證功能,要完成一個(gè)標(biāo)準(zhǔn)的 webapi ,你需要自己寫一些東西。不過有自動(dòng)依賴注入的功能,擴(kuò)展也不算難題。
在此謝謝 workerman 的作者,雖然只是用了 workerman 功能的一小部分,但是依然解決了我自己的很多業(yè)務(wù)上的難題。
Github 地址 :https://github.com/wazsmwazsm/WorkerA
框架核心部分地址 :https://github.com/wazsmwazsm/WorkerF
底層是對 PDO 的一個(gè)封裝,添加了斷線重連。底層的驅(qū)動(dòng)、接口都在這里
https://github.com/wazsmwazsm/WorkerF/tree/master/src/WorkerF/DB
暫時(shí)還在觀察測試中,目前只有自己在維護(hù),還要忙工作,升級更改可能會(huì)慢,請見諒。不建議直接放到生產(chǎn)環(huán)境,不過對項(xiàng)目有興趣的話,歡迎 pr 。
學(xué)習(xí)了