Документы 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', []))
);
}
Хорошо, я понял это. По сути, вы должны добавить в конфигурационные файлы самостоятельно.
config
каталог в корне вашего приложения. config/broadcasting.php
из рабочей установки Laravel в этот каталог.env
файл: PUSHER_SECRET, PUSHER_KEY, PUSHER_APP_ID
В общем, 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
в .окр.