jonh-wu / laracent
Centrifugo 广播器适用于 laravel >= 5.7 和 Centrifugo >= 2.1.0
dev-main
2020-10-24 18:43 UTC
Requires
- php: >=7.2.12
- guzzlehttp/guzzle: >=7
- illuminate/broadcasting: >=5.7
- laravel/framework: >=5.7
Requires (Dev)
- orchestra/testbench: ^3.7
- phpunit/phpunit: ^7||^8
This package is not auto-updated.
Last update: 2024-09-23 12:20:24 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 jonh-wu/laracent
打开您的 config/app.php 文件,并将以下内容添加到 providers 数组中
'providers' => [ // ... JonhWu\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 JonhWu\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)。请参阅 许可证文件 获取更多信息。