你需要延长Illuminate\Broadcasting\BroadcastManager\BroadcastManager
使用服务提供商。这与添加自定义防护非常相似,但这是一个超级基本的示例:
创建一个新的服务提供商,我称之为我的BroadcastServiceProvider
,并将以下内容添加到boot
method:
/**
* Bootstrap the application services.
*
* @param BroadcastManager $broadcastManager
*/
public function boot(BroadcastManager $broadcastManager)
{
$broadcastManager->extend('slack', function (Application $app, array $config) {
return new Slack;
});
}
所做的就是添加您的广播驱动程序(一个实现Illuminate\Contracts\Broadcasting\Broadcaster
在我的示例中是接口Slack
) 发送给广播管理员,并提供姓名slack
(您可以随意称呼您的广播公司)。
确保您添加了该服务提供商app.php
配置文件。
然后,在你的broadcasting.php
配置文件将新驱动程序添加为连接。我的看起来像这样:
'connections' => [
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_KEY'),
'secret' => env('PUSHER_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
],
'redis' => [
'driver' => 'redis',
'connection' => 'default',
],
'log' => [
'driver' => 'log',
],
'slack' => [
'driver' => 'slack'
]
],
您会注意到驱动程序名称与服务提供商中的名称相同extend
称呼。您可以将连接称为您真正喜欢的任何名称,并且可以添加额外的参数,如果需要,这些参数将传递给服务提供者。
之后,您的自定义广播器已注册并可供使用!