1. 程式人生 > >基於swoole的高效能的mvc的http伺服器框架--swoolefy

基於swoole的高效能的mvc的http伺服器框架--swoolefy

很高興能夠正式完成並開源一個基於swoole實現的高效能的mvc的微服務框架。主要的實現功能:

嚐鮮地址:https://github.com/bingcool/swoolefy,歡迎star和issue

開發文件:https://www.kancloud.cn/bingcoolhuang/php-swoole-swoolefy/587501

同時也正式在swoole官網的衍開源專案推廣欄得到swoole官方推廣,包括開發者頭條,segmentfault。

swoolefy是一個基於swoole擴充套件實現的輕量級高效能的常駐記憶體型的API和Web應用服務框架。swoolefy的設計思想汲取了Tp5,Yii2,workerman,swooole-framework,easyswoole等框架的優秀設計思想,並結合本人多年的技術積累以及實踐經驗,它一定不是最優秀的框架,但是這是一個適合學習swoole的框架,特別適合中小團隊,用過Tp的phper基本都會用,有過Yii2的經驗者,那就更容易入手了。


swoolefy底層遮蔽了swoole與傳統php-fpm的一些差異,讓大部分的phper使用起來可以像使用php-fpm那樣,輕鬆入手

1、輕量級的框架,實現路由與排程,MVC三層,當然也可以配置多層
2、支援composer的PSR4規範和實現自定義註冊名稱空間
3、支援多協議,目前支援http,websocket,tcp,udp,以及基於tcp實現的rpc,開放式的系統介面,可自定義協議資料格式
4、抽象Event的事件處理與底層的事件監聽解耦,遮蔽不同協議之間的應用差異,大部分程式碼實現共用
5、實現超全域性變數,IOC,靜態延遲繫結,元件服務常駐記憶體化,trait的多路複用,鉤子事件,單例,工廠模式等


6、簡單易用的非同步務管理TaskManager, 定時器管理TickManager, 記憶體表管理TableManager, 程序管理ProcessManager,超全域性管理
7、靈活多層的配置,配置引數即可實現底層已封裝的複雜功能
8、應用物件的深度複製,實現物件的常駐記憶體,每個請求只需要從記憶體中複製應用物件,不需要再重新建立,減少IO消耗,保持記憶體穩定
9、封裝View,Log,Mysql,Redis,Mongodb,Swiftmail,Session等常用元件,其他元件根據業務按照約定即可封裝成元件
10、實現非同步半阻塞與全非同步非阻塞,EventHander與底層解耦
11、基於inotify實現自動監控swoole服務的檔案變動,實現worker自動reload,智慧郵件通知

12、命令列形式高度封裝啟動|停止控制的指令碼,簡單命令即可管理整個框架