本文在我的網(wǎng)站持續(xù)更新干厚,查看最新版本請訪問https://www.itshutong.com/articles/119/swoole-framework-first-experience-of-swoft
沒有swoole之前囚灼,php一直被"譽“為世界上最好的語言。swoole橫空出世后惶傻,php就成了宇宙最好的語言了...
關(guān)于swoole的基礎(chǔ)使用,詳見 2018年swoole實戰(zhàn)1-初識swoole 系列其障。
swoft是基于swoole的高性能協(xié)程全椧遥框架±恚看了 swoft官網(wǎng)介紹, 瞬間覺得是一個牛逼閃閃的框架蜈敢。
想要使用swoole,如果自己手工造一個框架,時間成本太高汽抚,而且對自己的代碼質(zhì)量沒什么信心(好吧抓狭,這才是主要原因...),如果將swoole與流行的框架造烁,如laravel否过,yii2午笛,thinkphp結(jié)合,會遇到不少坑苗桂,而且這些框架顯得過于笨重药磺。權(quán)衡之下,swoft這種專為swoole為生的框架煤伟,對于懶人來說癌佩,就很適合了。使用swoft的缺點在于這個框架用的人目前并不多便锨,基本上除了官方文檔围辙,沒有其他學(xué)習(xí)資源,也沒找到基于swoft的開源項目鸿秆。
swoft環(huán)境搭建
安裝swoft的前提是已經(jīng)安裝了swoole
使用composer安裝swoft, 想進(jìn)一步了解composer的同學(xué)酌畜,請支持 這一次,真正掌握composer
composer create-project swoft/swoft swoft
進(jìn)入swoft目錄卿叽,查看版本信息:
? swoft [master] ? php bin/swoft -v
____ __ _
/ ___|_ _____ / _| |_
\___ \ \ /\ / / _ \| |_| __|
___) \ V V / (_) | _| |_
|____/ \_/\_/ \___/|_| \__|
swoft: 1.0.0, php: 7.1.19, swoole: 4.0.3
體驗http服務(wù)
由于swoft的websocket服務(wù)是基于http服務(wù)的桥胞,所以只需開啟ws服務(wù):
? swoft [master] ? sudo php bin/swoft ws:start
默認(rèn)情況下,啟用的是80端口考婴,可在.env
文件中指定端口
訪問 http://127.0.0.1/
就能看到歡迎頁面:
這個歡迎頁面對應(yīng)的控制器是:
swoft/app/Controllers/IndexController.php 的 index 方法
控制器與路由的對應(yīng)關(guān)系是通過注解路由來實現(xiàn)的贩虾,簡單說,就是在控制器和方法的注釋中指定路由
我們添加一個方法來測試下:
swoft/app/Controllers/DemoController.php
新增test方法
/**
* @RequestMapping("test")
*/
public function test()
{
return '你就是傳說中的注解路由沥阱?';
}
訪問 http://127.0.0.1/demo2/test
體驗ws服務(wù)
首先開啟swoft自帶的開發(fā)工具缎罢,具體操作參考 DevTool 配置
訪問 http://127.0.0.1/__devtool/ws/test
在ws提供的文本域可以調(diào)試ws服務(wù):
ws://127.0.0.1/__devtool
對應(yīng)的控制器是 swoft/vendor/swoft/devtool/src/WebSocket/DevToolController.php
初體驗
swoft將swoole的功能進(jìn)行了更易使用的封裝與調(diào)用,并提供了很酷的開發(fā)工具考杉。
想要學(xué)習(xí)swoft的策精,先將官方文檔大概看兩遍...
如果覺得官方文檔語焉不詳,希望我能多寫一些swoft的實例文章崇棠,請給予打賞鼓勵咽袜,你的認(rèn)可對我很重要...