kot13/laracent

适用于 laravel >= 5.7 和 Centrifugo >= 2.1.0 的 Centrifugo 广播器

1.0.0 2019-02-18 00:13 UTC

This package is auto-updated.

Last update: 2024-09-22 02:18:05 UTC


README

Centrifugo 广播驱动器 for Laravel 5

Build Status Latest Version Quality Score StyleCI Total Downloads Software License

简介

Centrifugo 广播器 for 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)。请参阅 许可证文件 了解更多信息。