获取Laravel全局中间件中config/session的值
我试图从Laravel-7全局中间件中的配置或会话变量中检索值,但它不起作用。这些值在登录控制器中设置。 我试过了获取Laravel全局中间件中config/session的值,laravel,laravel-middleware,Laravel,Laravel Middleware,我试图从Laravel-7全局中间件中的配置或会话变量中检索值,但它不起作用。这些值在登录控制器中设置。 我试过了 有人可以帮助我如何从配置、会话或全局中间件中的任何其他全局变量获取值。该值需要在登录时设置一次,并在每次请求时在全局中间件中使用。您可以按以下方式设置会话: 如果使用会话类,请将其从导入: 使用light\Support\Facades\Session Session::put('key', 'value'); 或 并按以下方式获得会话: $value = Session::ge
有人可以帮助我如何从配置、会话或全局中间件中的任何其他全局变量获取值。该值需要在登录时设置一次,并在每次请求时在全局中间件中使用。您可以按以下方式设置会话: 如果使用会话类,请将其从导入:
使用light\Support\Facades\Session代码>
Session::put('key', 'value');
或
并按以下方式获得会话:
$value = Session::get('key');
或
我希望这是有用的将StartSession从MiddlewareGroup移动到内核中的中间件。php解决了这个问题。但我不确定这是否正确。谁能详细说明一下。
下面是Kernel.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,
];
我想第二个是Session::get('key)。已经尝试过这个,我得到一个空值。@ZaheerAhmed如果使用会话类添加这一行use-illumb\Support\Facades\Session代码>结果仍然为空,带有“use Illumb\Support\Facades\Session”;我认为原因是会话尚未启动。Mine是在Kernal.php的中间件部分中定义的全局中间件,而startsession是在中定义的middlewareGoup@ZaheerAhmed请添加受内核保护的中间件阵列
$value = Session::get('key');
$value = session('key');
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,
];