我正在一个社交网站上,登录时,我需要一些有关用户在前端使用的信息,例如名称,图像链接,用户名,ID。
因此,最好使用会话来存储我需要的所有数据,或者仅使用 auth()-> user()->属性?
答案 0 :(得分:0)
您可以使用auth()帮助器:
auth()->user()
或身份验证外观:
Auth::user()
两者相同,并从数据库中获取身份验证用户的详细信息
答案 1 :(得分:0)
默认情况下,auth()
辅助功能或外观已经使用会话作为Web Guard的驱动程序...
config/auth.php
'guards' => [
'web' => [
'driver' => 'session', // <-- Here
'provider' => 'users',
],
]
所以您真正要问的是会议还是会议更好...
答案 2 :(得分:0)
您可以使用auth helper,它是最佳的,因为它可以在laravel内核加载开始时在全局引导的$ app变量witch内加载。
这也是从auth()帮助器(如auth()-> id)中从用户加载其他每次需要的属性的好方法。
您可以通过以下方式使用marco将此类数据添加到身份验证帮助程序中:
将此添加到AppServiceProvider引导方法或任何自定义提供程序中,您必须通过可宏化的SessionGuard将其他字段添加到身份验证帮助程序中。
SessionGuard::macro('mobile', function () {
return auth()->check() ? auth()->user()->mobile : null;
});
现在您只需要在任何地方使用
auth()->mobile();