在我們探討php框架的開發時,更多的是偏向于理論的框架。那么本篇要講的Workerman框架,與其他的框架有很大的不同,可以廣泛的應用在生活中。我們平時所用到的軟件,也許正是Workerman開發出來的。下面我們就php中Workerman框架的概念、與其他框架區別帶來講解。
1、概念
Workerman是一款純PHP開發的開源高性能的PHP socket 服務器框架。被廣泛的用于手機app、移動通訊,微信小程序,手游服務端、網絡游戲、PHP聊天室、硬件通訊、智能家居、車聯網、物聯網等領域的開發。 支持TCP長連接,支持Websocket、HTTP等協議,支持自定義協議。擁有異步Mysql、異步Redis、異步Http、異步消息隊列等眾多高性能組件。
2、與其他框架區別
Workerman 的核心要點和 Swoole 一致,但采用了純 PHP 的 Web Socket 實現。和 Swoole 相比最大的好處是移除了對 C 擴展的需求,但必須采用 CLI 模式運行使其還是無法跑在虛擬主機上。
3、使用實例
websocket服務器
?php
require_once __DIR__ . '/vendor/autoload.php';
use Workerman\Worker;
// 創建一個Websocket服務器
$ws_worker = new Worker("websocket://0.0.0.0:2346");
$ws_worker->count = 4;
// 在新連接到來時發出
$ws_worker->onConnect = function($connection)
{
echo "New connection\n";
};
// 接收數據時發出
$ws_worker->onMessage = function($connection, $data)
{
// Send hello $data
$connection->send('hello ' . $data);
};
// 連接關閉時發出
$ws_worker->onClose = function($connection)
{
echo "Connection closed\n";
};
// 運行worker
Worker::runAll();
知識點擴展:
workerman的特性
Workerman是一款純PHP開發的開源的高性能的PHP socket 異步框架。被廣泛的用于移動通訊、手游服務端、網絡游戲服務器、聊天室服務器、硬件通訊服務器、智能家居、車聯網、物聯網等領域的開發。 支持Websocket、HTTP等協議,支持自定義協議。基于workerman開發者可以更專注于業務邏輯開發,不必再為PHP Socket底層開發而煩惱。
workerman諸多的不同尋常的特性,使得PHP開發者可以開發出不同尋常的應用程序。
官網地址: http://www.workerman.net
官網有很具體的開發文檔,這里我就給大家介紹下 ,它的一些特性,功能還是很強大的!
純PHP開發
workerman完全使用PHP開發,使用workerman開發的應用程序不依賴php-fpm、apache、nginx這些容器就可以獨立運行。 這使得PHP開發者開發、部署、調試應用程序非常方便。
支持PHP多進程
為了充分發揮服務器多CPU的性能,workerman默認支持多進程多任務。workerman開啟一個主進程和多個子進程對外提供服務, 主進程負責監控子進程退出信號,并負責生成新的子進程去處理服務,這樣做不僅提高了應用程序的性能,而且使得workerman更加穩定。
支持TCP、UDP
workerman支持TCP和UDP兩種傳輸層協議,只需要更改配置的一個字段,便可以更換傳輸層協議,業務代碼無需任何改動。
到此這篇關于php中Workerman框架實例講解的文章就介紹到這了,更多相關php中Workerman框架是什么內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 詳解Docker 下開發 hyperf 完整使用示例
- PhpStorm 如何優雅的調試Hyperf的方法步驟
- php框架知識點的整理和補充
- 淺談php常用的7大框架的優缺點
- php框架CI(codeigniter)自動加載與自主創建對象操作實例分析
- ThinkPHP5框架中使用JWT的方法示例
- Thinkphp5框架異常處理操作實例分析
- Thinkphp5框架中引入Markdown編輯器操作示例
- 淺談減少Hyperf框架的掃描時間