只是为了澄清这个问题,以下陈述是等效的,还是我遗漏了一些东西并引入了安全漏洞?
// 1
if(Auth::user()){
// do something
}
// 2
if(Auth::check() && Auth::user()){
// do something
}
让我们快速浏览一下引擎盖下
public function check()
{
return ! is_null($this->user());
}
如您所见,检查所做的只是检查 null。当您需要知道它们是否经过身份验证时,使用 Auth::check()
要容易得多。如果您不打算使用它,则返回对象是没有意义的。
语句Auth::Check((只是返回用户是否登录。
Auth::user(( 返回已登录的用户(如果有(。
$user_name = Auth::user()->name;
您可以检索用户的数据。