在新的 Laravel 中,我无法在构造函数中获取会话。为什么?
public function __construct()
{
dd(Session::all()); //this is empty array
}
然后下面
public function index()
{
dd(Session::all()); //here works
}
在旧的 laravel 中我记得没有这个问题。有什么改变吗?
Laravel 5.3 默认情况下不能这样做。但是当你编辑你的时候Kernel.php
并改变protected $middleware = [];
接下来它将起作用。
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
];
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
希望这有效!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)