什么是Swoole
直接套用Swoole官網(wǎng)的介紹:PHP的異步、并行、高性能網(wǎng)絡(luò)通信引擎,使用純C語(yǔ)言編寫,提供了PHP語(yǔ)言的異步多線程服務(wù)器,異步TCP/UDP網(wǎng)絡(luò)客戶端,異步MySQL,異步Redis,數(shù)據(jù)庫(kù)連接池,AsyncTask,消息隊(duì)列,毫秒定時(shí)器,異步文件讀寫,異步DNS查詢。 Swoole內(nèi)置了Http/WebSocket服務(wù)器端/客戶端、Http2.0服務(wù)器端。
Swoole官網(wǎng)的文檔不夠豐富啊,這比較頭疼,但大部分的問(wèn)題都解釋了。如果你對(duì)Swoole很感興趣,那么看看這個(gè)Swoole入門教程。Swoole提供了多線程、長(zhǎng)連接等很多牛逼的功能,把php上升到了一個(gè)新的臺(tái)階,具體的你可以看看入門教程,本文只限于討論Laravel和Swoole的結(jié)合。
Swoole為了提供服務(wù),必須以CLI模式運(yùn)行,什么是CLI模式呢?如果你Swoole業(yè)務(wù)代碼是寫在一個(gè)叫server.php的文件中,那么在命令行下輸入php server.php開啟。這是比較頭疼的事情,因?yàn)長(zhǎng)aravel框架可不是這樣的運(yùn)轉(zhuǎn)的,那如何能與Laravel結(jié)合呢?沒(méi)錯(cuò),自定義一條Artisan Command,就這么簡(jiǎn)單。
強(qiáng)烈推薦在你的laravel項(xiàng)目中,使用 laravel-s
這個(gè)包.
composer require "hhxsv5/laravel-s:~1.0" -vvv
然后,依賴 kuaiapp/db
這個(gè)包,作用是實(shí)現(xiàn) Swoole\Coroutine\MySQL
的偽 PDO 接口
composer require "kuaiapp/db" -vvv
給 vendor/laravel/framework
打patch
cd .//vendor/laravel/framework
wget https://gist.githubusercontent.com/xiaohuilam/81ae50c1bc06180bd8e6fcbdaadba86a/raw/529cb96ca9abeed7a35076725b3b5cd8a1e04ff7/git.patch
git am git.patch
啟動(dòng)laravel-s
php artisan laravels start
現(xiàn)在你就可以測(cè)試你的數(shù)據(jù)庫(kù)查詢了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Laravel使用swoole實(shí)現(xiàn)websocket主動(dòng)消息推送的方法介紹
- LaravelS通過(guò)Swoole加速Laravel/Lumen詳解
- 在swoole中制作一款仿制laravel的框架的實(shí)例代碼