如何配置 Lumen 通过 Pusher 广播事件?
How Can I Configure Lumen To Broadcast Events via Pusher?
Lumen 的文档指出 "Lumen supports several broadcast drivers out of the box: Pusher
, Redis
, and a log
driver for local development and debugging. A configuration example is included for each of these drivers. The BROADCAST_DRIVER
configuration option may be used to set the default driver."
在我的 .env 文件中我设置了 BROADCAST_DRIVER=pusher
。 Where/how 我可以配置我的推送 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', []))
);
}
好的,我明白了。基本上你必须自己添加配置文件。
- 在您的应用程序的根目录中创建一个
config
目录。
- 将工作 laravel 安装中的
config/broadcasting.php
复制到此目录中
- 将以下键添加到您的
.env
文件中:PUSHER_SECRET, PUSHER_KEY, PUSHER_APP_ID
Lumen一般支持两种配置方式:
- 设置 Lumen 消耗的环境变量 internal config files
- 创建覆盖 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 环境变量,因此我们不需要创建这些在项目中的配置文件。只需在 .env.
中设置 BROADCAST_DRIVER
、PUSHER_SECRET
、PUSHER_KEY
和 PUSHER_APP_ID
Lumen 的文档指出 "Lumen supports several broadcast drivers out of the box: Pusher
, Redis
, and a log
driver for local development and debugging. A configuration example is included for each of these drivers. The BROADCAST_DRIVER
configuration option may be used to set the default driver."
在我的 .env 文件中我设置了 BROADCAST_DRIVER=pusher
。 Where/how 我可以配置我的推送 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', []))
);
}
好的,我明白了。基本上你必须自己添加配置文件。
- 在您的应用程序的根目录中创建一个
config
目录。 - 将工作 laravel 安装中的
config/broadcasting.php
复制到此目录中 - 将以下键添加到您的
.env
文件中:PUSHER_SECRET, PUSHER_KEY, PUSHER_APP_ID
Lumen一般支持两种配置方式:
- 设置 Lumen 消耗的环境变量 internal config files
- 创建覆盖 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 环境变量,因此我们不需要创建这些在项目中的配置文件。只需在 .env.
中设置BROADCAST_DRIVER
、PUSHER_SECRET
、PUSHER_KEY
和 PUSHER_APP_ID