如何配置流明以通过Pusher广播事件



Lumen的文档指出,"Lumen支持开箱即用的几个广播驱动程序:PusherRedis和用于本地开发和调试的log驱动程序。这些驱动程序中的每一个都包含一个配置示例。BROADCAST_DRIVER配置选项可用于设置默认驱动程序。"

在我的.env文件中,我设置了BROADCAST_DRIVER=pusher。我可以在哪里/如何配置我的推送员ID、密钥和机密?我看到在Laravel中,用于设置这些选项的配置文件位于config/broadcasting.php在Lumen中,我可以在哪里设置这些选项

我暂时编辑了IlluminateBroadcastingBroadcastManager,并在.中硬编码了我的值

protected function createPusherDriver(array $config)
    {
        // override
        $app_id = 'hidden';
        $key = 'hidden';
        $secret = 'hidden';
        return new PusherBroadcaster(
            new Pusher($key, $secret, $app_id, Arr::get($config, 'options', []))
        );
    }

好吧,我想明白了。本质上,您必须自己添加配置文件。

  1. 在应用程序的根目录中创建一个config目录
  2. 将正在运行的laravel安装中的config/broadcasting.php复制到此目录中
  3. 将以下密钥添加到.env文件中:PUSHER_SECRET, PUSHER_KEY, PUSHER_APP_ID

通常,Lumen支持两种配置模式:

  • 设置Lumen内部配置文件使用的环境变量
  • 创建覆盖Lumen内部配置的项目配置文件

Lumen提供了配置框架的大部分组件所需的基于环境的配置变量,包括Pusher。虽然从文档中看不清楚,但我们也可以通过Laravel等配置文件来配置Lumen。这使得Lumen可能无法通过其内置配置结构支持高级配置。

默认情况下,新的Lumen项目不会像新的Laravel项目在config/目录中那样提供配置文件。正如@Feek所发现的,我们可以创建config/目录并添加任何需要的配置文件。例如,我们可以创建config/broacasting.php文件来设置广播连接。

在这样的项目中创建配置文件时,如果文件与Lumen内置配置文件的名称匹配,Lumen将自动从文件中读取配置值。如果我们想添加一个与Lumen内部配置文件名不匹配的自定义配置文件,我们需要手动指示Lumen在服务提供商或bootstrap/app.php中读取配置文件。

例如,要从config/my-custom-config.php加载配置值,请将此行添加到应用程序的引导过程中:

$app->configure('my-custom-config');

在这个问题的特殊情况下,Lumen内置的broadcasting.php配置文件为我们读取Pusher环境变量,因此我们不需要在项目中为这些变量创建配置文件。只需在.env.

中设置BROADCAST_DRIVERPUSHER_SECRETPUSHER_KEYPUSHER_APP_ID

最新更新