答案:在Laravel中可通过Auth门面或auth()函数获取当前登录用户信息。1. 使用Auth::user()或auth()->user()获取用户实例,Auth::id()或auth()->id()获取用户ID;2. 在Blade模板中用@if(auth()->check())判断登录状态并显示用户名和ID;3. 需确保路由应用auth中间件,API场景下配置正确守卫,避免未登录时访问属性导致异常。
在 Laravel 中,获取当前登录用户的信息非常简单,主要通过内置的 Auth 门面 或 auth() 辅助函数 来实现。以下是如何使用它们来获取当前用户信息和用户 ID 的常用方法。
示例代码:
use Illuminate\Support\Facades\Auth; // 获取当前用户模型实例 $user = Auth::user(); // 获取用户 ID $userId = Auth::id(); // 获取其他用户信息 $username = $user->name; $email = $user->email;注意:如果用户未登录,
Auth::user() 将返回 null,因此在访问属性前最好先判断是否已登录。
示例代码:
// 获取当前用户
$user = auth()->user();
// 获取用户 ID
$userId = auth()->id();
// 判断用户是否已登录
if (auth()->check()) {
echo '用户已登录,ID 是:' . auth()->id();
}
Blade 模板示例:
@if(auth()->check())
欢迎你,{{ auth()->user()->name }}
你的 ID 是:{{ auth()->id() }}
@endif
user() 前建议先用 check() 判断登录状态,避免出现空指针异常。