laravel在已登录的情况下,构造函数__construct()无法获取用户数据
public function __construct()
{
var_dump(Auth::user());
}
结果输出null
查看laravel文档后发现,在5.4版本前是可以的,在5.4后无法再获取。
文档也给出了解决办法,那就是在构造函数中构建一个闭包中间件,在中间件中获取用户信息
public function __construct()
{
$this->middleware(function ($request, $next){
var_dump(Auth::user());
if(!$request->user()){
redirect('login')->send();
}
return $next($request);
});
}