5

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

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

暂时我已经编辑Illuminate\Broadcasting\BroadcastManager并硬编码了我的值。

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', []))
        );
    }
4

2 回答 2

5

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

  1. config在应用程序的根目录中创建一个目录。
  2. config/broadcasting.php从一个工作的 laravel 安装复制到这个目录
  3. 将以下键添加到您的.env文件中:PUSHER_SECRET, PUSHER_KEY, PUSHER_APP_ID
于 2015-12-20T04:54:47.613 回答
2

一般来说,Lumen 支持两种配置模式:

Lumen 提供了配置大多数框架组件(包括 Pusher)所需的基于环境的配置变量。虽然文档中不清楚,但我们也可以通过 Laravel 等配置文件来配置 Lumen。这启用了 Lumen 可能通过其内置配置结构不支持的高级配置。

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

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

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

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

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

于 2017-09-24T23:09:48.717 回答