alex-hnydiuk / laracent
Centrifugo 广播器,适用于 laravel >= 5.7 和 Centrifugo >= 2.1.0
1.0.0
2019-02-18 00:13 UTC
Requires
- php: >=7.2.12
- guzzlehttp/guzzle: ^6.2
- illuminate/broadcasting: ^5.3
Requires (Dev)
- orchestra/testbench: ^3.3
- phpunit/phpunit: ^5.7|^6.1
This package is auto-updated.
Last update: 2024-09-22 20:59:51 UTC
README
Centrifugo 广播驱动器,适用于 Laravel 5
简介
Centrifugo 广播器,适用于 laravel >= 5.7 是基于 centrifuge-broadcaster 的分支,依赖于
变更说明
- 从依赖中移除了 predis/predis
- 删除了所有与 Redis 相关的代码
- 根据 Centrifugo API 的新版本更新了公共函数代码
要求
- PHP 7.2.12+ 或更高版本
- Laravel 5.7 或更高版本
- Centrifugo 服务器 2.1.0 或更高版本(见 此处)
依赖
- guzzlehttp/guzzle
安装
使用 composer 安装此包
composer require alex-hnydiuk/laracent
打开您的 config/app.php 并将以下内容添加到 providers 数组中
'providers' => [ // ... AlexHnydiuk\Laracent\LaracentServiceProvider::class, // And uncomment BroadcastServiceProvider App\Providers\BroadcastServiceProvider::class, ],
打开您的 config/broadcasting.php 并添加新的连接如下
'centrifugo' => [ 'driver' => 'centrifugo', 'secret' => env('CENTRIFUGO_SECRET'), 'apikey' => env('CENTRIFUGO_APIKEY'), 'url' => env('CENTRIFUGO_URL', 'https://:8000'), // centrifugo api url 'verify' => env('CENTRIFUGO_VERIFY', false), // Verify host ssl if centrifugo uses this 'ssl_key' => env('CENTRIFUGO_SSL_KEY', null), // Self-Signed SSl Key for Host (require verify=true) ],
您还应在 .env 文件中添加以下两行
CENTRIFUGO_SECRET=very-long-secret-key-from-centrifugo-config
CENTRIFUGO_APIKEY=long-secret-apikey-from-centrifugo-config
这些行是可选的
CENTRIFUGO_URL=https://:8000
CENTRIFUGO_SSL_KEY=/etc/ssl/some.pem
CENTRIFUGO_VERIFY=false
别忘了更改 .env 文件中的 BROADCAST_DRIVER
设置!
BROADCAST_DRIVER=centrifugo
基本用法
要配置 Centrifugo 服务器,请阅读 官方文档
有关广播事件的说明,请参阅 Laravel 的官方文档
简单的客户端用法示例
<?php namespace App\Http\Controllers; use AlexHnydiuk\Laracent\Laracent; class ExampleController extends Controller { public function home(Laracent $centrifugo) { // Send message into channel $centrifugo->publish('channel-name', [ 'key' => 'value' ]); // Generate connection token $token = $centrifugo->generateConnectionToken('user id', 'timestamp', 'info'); // Generate private channel token $apiSign = $centrifuge->generatePrivateChannelToken('client', 'channel', 'timestamp', 'info'); // ... } }
可用方法
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件