Получить значение config / session в глобальном промежуточном программном обеспечении Laravel - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь получить значения из переменной конфигурации или сеанса в глобальном промежуточном программном обеспечении Laravel -7, но это не работает. Значения устанавливаются в контроллере входа в систему. Я пробовал

info(Config::get("database.connections.mysql.userdb","nil"));
info(Session::get("selected_database"));

Может кто-нибудь помочь, как я могу получить значения из конфигурации или сеанса или любой другой глобальной переменной в глобальном промежуточном программном обеспечении. Значение необходимо установить один раз при входе в систему и использовать в Global Middleware при каждом запросе.

Ответы [ 2 ]

0 голосов
/ 21 июня 2020

Перенос StartSession из MiddlewareGroup в Middleware в ядре. php решил проблему. Но я не уверен, что это правильный путь. Кто-нибудь может уточнить. Вот ядро. php

protected $middleware = [

    \Illuminate\Session\Middleware\StartSession::class,   //moved from middlewareGroups
    \App\Http\Middleware\SelectDB::class,

    \App\Http\Middleware\TrustProxies::class,
    \Fruitcake\Cors\HandleCors::class,
    \App\Http\Middleware\CheckForMaintenanceMode::class,
    \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
    \App\Http\Middleware\TrimStrings::class,
    \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
];
0 голосов
/ 21 июня 2020

вы можете установить сеанс следующим образом: если вы используете класс Session, импортируйте его из: use Illuminate\Support\Facades\Session;

Session::put('key', 'value');

или

session(['key' => 'value']);

и получите сеанс следующим образом:

$value = Session::get('key');

или

$value = session('key');

I надеюсь будет полезным

...