Как я могу настроить Lumen для трансляции событий через Pusher?

Документы Lumen гласят, что «Lumen поддерживает несколько драйверов вещания из коробки: Pusher, Redisи log Драйвер для локальной разработки и отладки. Пример конфигурации включен для каждого из этих драйверов. BROADCAST_DRIVER Параметр конфигурации может использоваться для установки драйвера по умолчанию. «

В моем файле .env я установил BROADCAST_DRIVER=pusher, Где / как я могу настроить мой идентификатор, ключ и секретный ключ? Я вижу, что в 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', []))
);
}

2

Решение

Хорошо, я понял это. По сути, вы должны добавить в конфигурационные файлы самостоятельно.

  1. Создать config каталог в корне вашего приложения.
  2. копия config/broadcasting.php из рабочей установки Laravel в этот каталог
  3. Добавьте следующие ключи к вашему .env файл: PUSHER_SECRET, PUSHER_KEY, PUSHER_APP_ID
2

Другие решения

В общем, Lumen поддерживает два режима настройки:

  • Установка переменных среды, используемых Lumen’s внутренние конфигурационные файлы
  • Создание файлов конфигурации проекта, которые переопределяют внутреннюю конфигурацию Lumen

Lumen предоставляет переменные конфигурации на основе среды, необходимые для настройки большинства компонентов инфраструктуры, включая Pusher. Хотя это не ясно из документации, мы также можем настроить Lumen через файлы конфигурации, такие как Laravel. Это обеспечивает расширенную настройку, которую Lumen может не поддерживать благодаря своей встроенной структуре конфигурации.

По умолчанию новые проекты Lumen не предоставляют конфигурационные файлы, как в новых проектах Laravel в конфиг / каталог. Как обнаружил @Feek, мы можем создать конфиг / каталог и добавьте все необходимые файлы конфигурации. Например, мы можем создать конфиг / broadcasting.php файл для настройки широковещательных подключений.

При создании файла конфигурации в проекте, подобном этому, Lumen автоматически считывает значения конфигурации из файла, если он совпадает с именем одного из встроенных файлов конфигурации Lumen. Если мы хотим добавить пользовательский файл конфигурации, который не соответствует ни одному из внутренних имен файлов конфигурации Lumen, нам нужно вручную указать Lumen прочитать файл конфигурации в поставщике услуг или в самозагрузки / app.php.

Например, чтобы загрузить значения конфигурации из конфиг / мой обычай-config.php, добавьте эту строку в процесс загрузки приложения:

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

В частном случае этого вопроса, Люмен встроенный broadcasting.php Конфигурационный файл считывает переменные среды Pusher для нас, поэтому нам не нужно создавать конфигурационный файл в проекте для них. Просто установите BROADCAST_DRIVER, PUSHER_SECRET, PUSHER_KEY, а также PUSHER_APP_ID в .окр.

0

По вопросам рекламы [email protected]