溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PHP中Swoole的作用是什么

發(fā)布時間:2021-01-13 15:51:43 來源:億速云 閱讀:232 作者:Leah 欄目:開發(fā)技術(shù)

這篇文章給大家介紹PHP中Swoole的作用是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

Swoole是一種PHP高級Web開發(fā)框架,框架不是為了提升網(wǎng)站的性能,是為了提升網(wǎng)站的開發(fā)效率。最少的性能損耗,換取最大的開發(fā)效率。利用Swoole框架,開發(fā)一個復(fù)雜的Web功能,可以在很短的時間內(nèi)完成。

官方定義:

Swoole:重新定義PHP

PHP的異步、并行、高性能網(wǎng)絡(luò)通信引擎,使用純C語言編寫,提供了PHP語言的異步多線程服務(wù)器,異步TCP/UDP網(wǎng)絡(luò)客戶端,異步MySQL,異步Redis,數(shù)據(jù)庫連接池,AsyncTask,消息隊(duì)列,毫秒定時器,異步文件讀寫,異步DNS查詢。 Swoole內(nèi)置了Http/WebSocket服務(wù)器端/客戶端、Http2.0服務(wù)器端。

Swoole可以廣泛應(yīng)用于互聯(lián)網(wǎng)、移動通信、企業(yè)軟件、云計(jì)算、網(wǎng)絡(luò)游戲、物聯(lián)網(wǎng)、車聯(lián)網(wǎng)、智能家居等領(lǐng)域。 使用PHP+Swoole作為網(wǎng)絡(luò)通信框架,可以使企業(yè)IT研發(fā)團(tuán)隊(duì)的效率大大提升,更加專注于開發(fā)創(chuàng)新產(chǎn)品。

swoole 擴(kuò)展安裝及案例來源:http://wiki.swoole.com/wiki/page/6.html

簡單案例:

<?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";
}
}
// 啟動服務(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, "請輸入消息:");
$msg = trim(fgets(STDIN));
$this->client->send($msg);
}
}
$client = new Client();
$client->connect();

分別打開兩個終端輸入:php server.php  php client.php 即可看到效果!

Swoole功能介紹

包含以下幾個特色功能:

1、 類似ORM的數(shù)據(jù)查詢,提供SQL封裝器,讓MySQL的SQL與PHP的Array,會話,Cache無縫結(jié)合。

2、App MVC分層結(jié)構(gòu),有效的程序結(jié)構(gòu)分層,提高程序的可維護(hù)性和擴(kuò)展性,實(shí)現(xiàn)低耦合,基于接口開發(fā)。

3、集成大量,實(shí)用的功能,比如方便的數(shù)據(jù)庫操作,模板操作,緩存操作,系統(tǒng)配置,表單處理,分頁,數(shù)據(jù)調(diào)用,字典操作,上傳處理,內(nèi)容編輯,調(diào)試等。

4、模板-數(shù)據(jù)反射系統(tǒng),可以直接在模板中調(diào)用數(shù)據(jù),提供很多標(biāo)簽,可是無需修改程序,只修改模板,即可實(shí)現(xiàn)網(wǎng)站各類更新維護(hù)工作。

另外的幾個功能

1、Swoole包含了大量類,提供眾多的功能擴(kuò)展,基本上Web開發(fā)能夠用到的功能類,大部分都可以在Swoole框架中找到。

2、Swoole擁有插件系統(tǒng),F(xiàn)ckeditor、Adodb、pscws中文分詞、中文全文索引系統(tǒng)、最新的Key-Value數(shù)據(jù)庫思想,TokyoTyrant,可以無限擴(kuò)展框架的功能。

關(guān)于PHP中Swoole的作用是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI