Ist es angemessen, alle Benutzerinformationen mithilfe der Laravel-Authentifizierung auth::guard anzuzeigen?
P粉256487077
P粉256487077 2023-09-04 17:46:44
0
1
489
<p>Ich bin neu bei Laravel. Ich habe eine Frage im Kopf: Ist es richtig, auth::guard zu verwenden, um alle Benutzerinformationen anzuzeigen? Verwende ich die Laravel Breeze-Authentifizierung? </p> <p>Zum Beispiel. Ist das so?</p> <pre class="brush:php;toolbar:false;">name: Auth::guard('web')->user()->name Mobil: Auth::guard('web')->user()->mobile Adresse: Auth::guard('web')->user()->address Stadt: Auth::guard('web')->user()->city Geschlecht: Auth::guard('web')->user()->gender</pre> <p>Gefällt Ihnen das? </p>
P粉256487077
P粉256487077

Antworte allen(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;
?>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage