初識(shí)PHP中的Swoole
Swoole是一種PHP高級(jí)Web開(kāi)發(fā)框架,框架不是為了提升網(wǎng)站的性能,是為了提升網(wǎng)站的開(kāi)發(fā)效率。最少的性能損耗,換取最大的開(kāi)發(fā)效率。利用Swoole框架,開(kāi)發(fā)一個(gè)復(fù)雜的Web功能,可以在很短的時(shí)間內(nèi)完成。
官方定義:
Swoole:重新定義PHP
PHP的異步、并行、高性能網(wǎng)絡(luò)通信引擎,使用純C語(yǔ)言編寫(xiě),提供了PHP語(yǔ)言的異步多線程服務(wù)器,異步TCP/UDP網(wǎng)絡(luò)客戶(hù)端,異步MySQL,異步Redis,數(shù)據(jù)庫(kù)連接池,AsyncTask,消息隊(duì)列,毫秒定時(shí)器,異步文件讀寫(xiě),異步DNS查詢(xún)。 Swoole內(nèi)置了Http/WebSocket服務(wù)器端/客戶(hù)端、Http2.0服務(wù)器端。
Swoole可以廣泛應(yīng)用于互聯(lián)網(wǎng)、移動(dòng)通信、企業(yè)軟件、云計(jì)算、網(wǎng)絡(luò)游戲、物聯(lián)網(wǎng)、車(chē)聯(lián)網(wǎng)、智能家居等領(lǐng)域。 使用PHP+Swoole作為網(wǎng)絡(luò)通信框架,可以使企業(yè)IT研發(fā)團(tuán)隊(duì)的效率大大提升,更加專(zhuān)注于開(kāi)發(fā)創(chuàng)新產(chǎn)品。
swoole 擴(kuò)展安裝及案例來(lái)源:http://wiki.swoole.com/wiki/page/6.html
簡(jiǎn)單案例:
<?php class Server { private $serv; public function __construct() { $this->serv = new swoole_server("0.0.0.0", 9501); $this->serv->set(array( 'worker_num' => 8, 'daemonize' => false, 'max_request' => 10000, 'dispatch_mode' => 2, 'debug_mode' => 1 )); $this->serv->on('Start', array($this, 'onStart')); $this->serv->on('Connect', array($this, 'onConnect')); $this->serv->on('Receive', array($this, 'onReceive')); $this->serv->on('Close', array($this, 'onClose')); $this->serv->start(); } public function onStart($serv) { echo "Start\n"; } public function onConnect($serv, $fd, $from_id) { $serv->send($fd, "Hello {$fd}!"); } public function onReceive(swoole_server $serv, $fd, $from_id, $data) { echo "Get Message From Client {$fd}:{$data}\n"; } public function onClose($serv, $fd, $from_id) { echo "Client {$fd} close connection\n"; } } // 啟動(dòng)服務(wù)器 $server = new Server(); <?php class Client { private $client; public function __construct() { $this->client = new swoole_client(SWOOLE_SOCK_TCP); } public function connect() { if (!$this->client->connect("127.0.0.1", 9501, 1)) { echo "Error: {$fp->errMsg}[{$fp->errCode}]\n"; } $message = $this->client->recv(); echo "Get Message From Server:{$message}\n"; fwrite(STDOUT, "請(qǐng)輸入消息:"); $msg = trim(fgets(STDIN)); $this->client->send($msg); } } $client = new Client(); $client->connect();
分別打開(kāi)兩個(gè)終端輸入:php server.php php client.php 即可看到效果!
Swoole功能介紹
包含以下幾個(gè)特色功能:
1、 類(lèi)似ORM的數(shù)據(jù)查詢(xún),提供SQL封裝器,讓MySQL的SQL與PHP的Array,會(huì)話,Cache無(wú)縫結(jié)合。
2、App MVC分層結(jié)構(gòu),有效的程序結(jié)構(gòu)分層,提高程序的可維護(hù)性和擴(kuò)展性,實(shí)現(xiàn)低耦合,基于接口開(kāi)發(fā)。
3、集成大量,實(shí)用的功能,比如方便的數(shù)據(jù)庫(kù)操作,模板操作,緩存操作,系統(tǒng)配置,表單處理,分頁(yè),數(shù)據(jù)調(diào)用,字典操作,上傳處理,內(nèi)容編輯,調(diào)試等。
4、模板-數(shù)據(jù)反射系統(tǒng),可以直接在模板中調(diào)用數(shù)據(jù),提供很多標(biāo)簽,可是無(wú)需修改程序,只修改模板,即可實(shí)現(xiàn)網(wǎng)站各類(lèi)更新維護(hù)工作。
另外的幾個(gè)功能
1、Swoole包含了大量類(lèi),提供眾多的功能擴(kuò)展,基本上Web開(kāi)發(fā)能夠用到的功能類(lèi),大部分都可以在Swoole框架中找到。
2、Swoole擁有插件系統(tǒng),F(xiàn)ckeditor、Adodb、pscws中文分詞、中文全文索引系統(tǒng)、最新的Key-Value數(shù)據(jù)庫(kù)思想,TokyoTyrant,可以無(wú)限擴(kuò)展框架的功能。
- 詳解thinkphp5+swoole實(shí)現(xiàn)異步郵件群發(fā)(SMTP方式)
- 詳解PHP swoole process的使用方法
- Windows 下安裝 swoole 圖文教程(php)
- 在PHP 7下安裝Swoole與Yar,Yaf的方法教程
- PHP使用SWOOLE擴(kuò)展實(shí)現(xiàn)定時(shí)同步 MySQL 數(shù)據(jù)
- linux平臺(tái)編譯安裝PHP7并安裝Redis擴(kuò)展與Swoole擴(kuò)展實(shí)例教程
- 基于Swoole實(shí)現(xiàn)PHP與websocket聊天室
- PHP的swoole擴(kuò)展安裝方法詳細(xì)教程
- PHP+swoole實(shí)現(xiàn)簡(jiǎn)單多人在線聊天群發(fā)
- 使用php+swoole對(duì)client數(shù)據(jù)實(shí)時(shí)更新(一)
- PHP程序員學(xué)習(xí)使用Swoole的理由
相關(guān)文章
Yii2 GridView實(shí)現(xiàn)列表頁(yè)直接修改數(shù)據(jù)的方法
這篇文章主要介紹了Yii2 GridView實(shí)現(xiàn)列表頁(yè)直接修改數(shù)據(jù)的方法的相關(guān)資料,小編認(rèn)為非常具有參考價(jià)值,特此分享到腳本之家平臺(tái),需要的朋友可以參考下2016-05-05YII Framework框架教程之使用YIIC快速創(chuàng)建YII應(yīng)用詳解
這篇文章主要介紹了YII Framework框架教程之使用YIIC快速創(chuàng)建YII應(yīng)用的方法,詳細(xì)分析說(shuō)明了YII Framework框架使用YIIC命令行創(chuàng)建應(yīng)用的相關(guān)技巧與注意事項(xiàng),需要的朋友可以參考下2016-03-03php開(kāi)發(fā)留言板的CRUD(增,刪,改,查)操作
php學(xué)習(xí)中,以開(kāi)放一個(gè)留言本作為php的入門(mén)資料還是不錯(cuò)的。2012-04-04joomla實(shí)現(xiàn)注冊(cè)用戶(hù)添加新字段的方法
這篇文章主要介紹了joomla實(shí)現(xiàn)注冊(cè)用戶(hù)添加新字段的方法,實(shí)例分析了Joomla注冊(cè)用戶(hù)添加新字段的步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-05-05使用php記錄用戶(hù)通過(guò)搜索引擎進(jìn)網(wǎng)站的關(guān)鍵詞
為了方便SEO,我們需要記錄用戶(hù)通過(guò)常見(jiàn)的搜索引擎搜索關(guān)鍵詞,下面是進(jìn)入你網(wǎng)站的情況的相關(guān)實(shí)現(xiàn)代碼,更多的,大家自己拓展咯2014-02-02