uzdevid/yii2-websocket
Composer 安装命令:
composer require uzdevid/yii2-websocket
包简介
Yii2 Web Socket service
关键字:
README 文档
README
Yii2 WebSocket Application is a powerful and flexible extension for the Yii2 framework that enables developers to integrate a WebSocket server into their applications. Built on top of the workerman/workerman package, this extension is ideal for creating real-time features such as chats, notifications, online games, and other interactive applications that require a persistent connection to the server.
Installation
composer require uzdevid/yii2-websocket
Usage
Application configuration similar to the default application.
Create config file <project_root>/socket/config/main.php
use UzDevid\WebSocket\Server\WebSocketServer; $params = array_merge( require __DIR__ . '/../../common/config/params.php', require __DIR__ . '/params.php', ); return [ 'id' => 'web-socket-app', 'basePath' => dirname(__DIR__), 'controllerNamespace' => 'socket\\controllers', 'webSocketServer' => [ 'class' => WebSocketServer::class, 'host' => '0.0.0.0', 'port' => 8080, 'count' => 1 ], 'components' => [], 'params' => $params, ];
With the current settings, the web socket server will listen on 0.0.0.0:8080. Count of workers: 1
Message processing occurs through the controller and action. Create <project-root>/socket/EchoController controller.
namespace socket\controllers; use UzDevid\WebSocket\Controller; use UzDevid\WebSocket\Server\Dto\Client; class EchoController extends Controller { /** * @param Client $client * @param array $payload * @return void */ public function actionEcho(Client $client, array $payload): void { $client->user->send('echo:echo', ['currentTime' => time()]); } }
Create entry point file named <project_root>/run
#!/usr/bin/env php /** * Yii WebSocket bootstrap file. */ use UzDevid\WebSocket\Application; require __DIR__ . '/vendor/autoload.php'; require __DIR__ . '/vendor/yiisoft/yii2/Yii.php'; require __DIR__ . '/common/сonfig/bootstrap.php'; require __DIR__ . '/socket/сonfig/bootstrap.php'; $config = yii\helpers\ArrayHelper::merge( require __DIR__ . '/common/сonfig/main.php', require __DIR__ . '/socket/сonfig/main.php', ); $application = new Application($config); $application->run();
To start the server you need to run the command:
php <project_root>/run start
For testing, we can use the Postman program. You need to create a web socket connection. You need to create a web socket connection with port ws://0.0.0.0:8080, which is specified in the application configuration.
Message Body Format.
{
"method": "echo:echo",
"payload": {}
}
The method parameter is similar to a regular url, the only difference is in the separator : What is specified in the payload parameter You can get them in the action arguments.
uzdevid/yii2-websocket 适用场景与选型建议
uzdevid/yii2-websocket 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 297 次下载、GitHub Stars 达 1, 最近一次更新时间为 2023 年 11 月 13 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「websocket」 「extension」 「yii2」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 uzdevid/yii2-websocket 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 uzdevid/yii2-websocket 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 uzdevid/yii2-websocket 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A custom URL rule class for Yii 2 which allows to create translated URL rules
The Yii2 extension uses jQuery jquery.carousel-1.1.min.js and makes image carousel from php array of structure defined.
TYPO3 CMS extension to create gallery content element with preset crop ratios and pagination
UI Kit 3 Extension for Yii2
Adds more BBCode
Define your own css rule-sets for the TYPO3 CMS backend.
统计信息
- 总下载量: 297
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 14
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-11-13