使用 auth::guard laravel 驗證顯示所有使用者資訊是否適當?
P粉256487077
P粉256487077 2023-09-04 17:46:44
0
1
495
<p>我是 Laravel 的新手。我心中有一個問題...使用 auth::guard 顯示所有使用者資訊是否正確。我正在使用 Laravel Breeze 身份驗證? </p> <p>例如。是這樣嗎-</p> <pre class="brush:php;toolbar:false;">name: Auth::guard('web')->user()->name mobile: Auth::guard('web')->user()->mobile address: Auth::guard('web')->user()->address city: Auth::guard('web')->user()->city gender: Auth::guard('web')->user()->gender</pre> <p>像這樣嗎? </p>
P粉256487077
P粉256487077

全部回覆(1)
P粉779565855

這可以工作,但更常見的是這樣寫。如果您確定您的使用者已登錄,則可以跳過 $user 的任何額外檢查。

<?php
$user = Auth::guard('web')->user();
name: $user->name;
mobile: $user->mobile;
address: $user->address;
city: $user->city;
gender: $user->gender;
?>

如果您的使用者可能未登錄,您可以新增特定行的檢查,如下所示:

<?php
$user = Auth::guard('web')->user();

name: $user->name ?? null;
mobile: $user->mobile ?? null;
address: $user->address ?? null;
city: $user->city ?? null;
gender: $user->gender ?? null;

//OR, when outputting in html

name: $user->name ?? '';
mobile: $user->mobile ?? ''
address: $user->address ?? '';
city: $user->city ?? '';
gender: $user->gender ?? '';
?>

如果您的用戶可能未登錄,而您想確保他們始終登錄,您可以執行以下操作:

<?php
$user = Auth::guard('web')->user();
if($user === null){
   throw new AuthenticationException('User Not logged in');
}
name: $user->name;
mobile: $user->mobile;
address: $user->address;
city: $user->city;
gender: $user->gender;

//OR

$user = Auth::guard('web')->user();
if($user === null){
   abort(401)
}
name: $user->name;
mobile: $user->mobile;
address: $user->address;
city: $user->city;
gender: $user->gender;
?>
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板