php mvc 高性能框架,swoolefy-基于swoole扩展实现的高性能的微服务和mvc框架
swoolefy
這是一個(gè)基于swoole擴(kuò)展實(shí)現(xiàn)的輕量級(jí)高性能的API和Web的MVC微服務(wù)框架,參考了TP,Yii2,Workerman,swoole_framework等框架的的設(shè)計(jì)思想。同時(shí)也結(jié)合了多年來(lái)的技術(shù)的積累的以及生產(chǎn)環(huán)境中的實(shí)踐經(jīng)驗(yàn)
實(shí)現(xiàn)的功能特性
1、輕量級(jí)的框架,實(shí)現(xiàn)路由與調(diào)度,MVC三層,當(dāng)然也可以配置多層
2、支持composer和自定義注冊(cè)命名空間
3、支持多協(xié)議,目前支持http,websocket
3、利用swoole的原生異步進(jìn)程封裝成應(yīng)用服務(wù),更有好的任務(wù)投放
4、實(shí)現(xiàn)超全局變量,IOC(控制反轉(zhuǎn)),靜態(tài)延遲綁定,組件服務(wù)常駐內(nèi)存化,trait的多路復(fù)用
5、簡(jiǎn)單易用的定時(shí)任務(wù),以及table內(nèi)存表,自定義錯(cuò)誤捕捉
6、靈活多層的配置,配置參數(shù)即可實(shí)現(xiàn)底層已封裝的復(fù)雜功能
7、應(yīng)用對(duì)象的深度復(fù)制,實(shí)現(xiàn)對(duì)象的常駐內(nèi)存,每個(gè)請(qǐng)求只需要從內(nèi)存中復(fù)制應(yīng)用對(duì)象,不需要再重新創(chuàng)建,減少I(mǎi)O消耗,保持內(nèi)存穩(wěn)定
8、封裝View,Log,Mysql,Redis,Mongodb,Swiftmail郵件等常用組件,其他組件根據(jù)業(yè)務(wù)按照約定即可封裝成組件
9、支持udp,tcp,http多種方式接入graylog
10、基于inotify實(shí)現(xiàn)自動(dòng)監(jiān)測(cè)swoole服務(wù)的文件變動(dòng),實(shí)現(xiàn)自動(dòng)重載,檢測(cè),智能郵件通知的服務(wù)
11、封裝啟動(dòng)停止控制的腳本,簡(jiǎn)單命令即可管理整個(gè)框架,使用文檔手冊(cè)將在后期整理
配置環(huán)境
1、支持php7.0+
2、搭建lnmp環(huán)境,建議使用lnmp一健安裝包,https://lnmp.org, 建議安裝lnmp1.4
3、安裝php必要的擴(kuò)展,框架需要的擴(kuò)展包括swoole(1.9.17+), swoole_serialize (https://github.com/swoole/swo... inotify, pcntl, posix, zlib, mbstring,可以通過(guò)php-m查看是否安裝了這些擴(kuò)展,如果通過(guò)lnmp1.4一健安裝包安裝的,已經(jīng)默認(rèn)安裝好這四個(gè)pcntl, posix, zlib, mbstring擴(kuò)展的,只需要在安裝swoole和swoole_serialize, inotify即可,具體安裝過(guò)程參考官方文檔
下載框架和安裝
在某一個(gè)web目錄下
(1)git clone https://github.com/bingcool/s...
(2)composer install(需要安裝composer)
啟動(dòng)
1、啟動(dòng)文件自動(dòng)監(jiān)控程序,進(jìn)入swoolefy/score/AutoReload
php start.php -d
監(jiān)控程序自動(dòng)監(jiān)控php的文件變動(dòng),然后swoole的worker自動(dòng)重啟,這個(gè)文件其實(shí)是通過(guò)調(diào)用代碼Shell文件夾的swoole_monitor.sh來(lái)監(jiān)控9502端口(這個(gè)是swoole的http服務(wù)的默認(rèn)端口)
2、啟動(dòng)swoole的http服務(wù),進(jìn)入swoole/score/Http
啟動(dòng):php start.php start http
停止:php start.php stop http
默認(rèn)端口是9502,當(dāng)然可以在配置文件中更改,同時(shí)對(duì)應(yīng)的swoolefy/score/AutoReload下的daemon.php中對(duì)應(yīng)更改。注意文件權(quán)限問(wèn)題
訪問(wèn)test
在App/Controller中就可以編碼測(cè)試,基本和thinkphp的mvc那樣操作。
比如在App/Controller/TestController.php
那么直接在瀏覽器輸入http://ip:9502/Test/test, 對(duì)應(yīng)的路由規(guī)則domain/controller/action
具體的可以參考App/Controller/的例子
如果需要使用mysql,redis,mongodb這些組件功能,請(qǐng)安裝mysql,redis,mongodb并在App/Config/config.php中配置,具體的配置可以參考配置文件。這個(gè)與Yii2的Component相似.
框架已在github開(kāi)源:https://github.com/bingcool/s...,有需要的同學(xué)可以嘗試,也歡迎issue
總結(jié)
以上是生活随笔為你收集整理的php mvc 高性能框架,swoolefy-基于swoole扩展实现的高性能的微服务和mvc框架的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Lab 6-4
- 下一篇: 【NLP】统计自然语言处理(第2版)思维