質問を明確にするために、次の文は同等ですか、何かが不足していてセキュリティホールを導入していますか?Auth :: user()がすでに認証されたユーザーまたはnullを取得する場合、なぜAuth :: check()を使用しますか?
// 1
if(Auth::user()){
// do something
}
// 2
if(Auth::check() && Auth::user()){
// do something
}
質問を明確にするために、次の文は同等ですか、何かが不足していてセキュリティホールを導入していますか?Auth :: user()がすでに認証されたユーザーまたはnullを取得する場合、なぜAuth :: check()を使用しますか?
// 1
if(Auth::user()){
// do something
}
// 2
if(Auth::check() && Auth::user()){
// do something
}
あなたが見ることができるようにのは、ボンネットの下に
public function check()
{
return ! is_null($this->user());
}
を迅速に覗いてみましょうが、すべてのことのチェックを行い、ヌルのチェックです。 Auth::check()
を使用すると、認証されているかどうかを知る必要があるときはずっと簡単です。それを使用しない場合は、オブジェクトを返すのは意味がありません。
文Auth :: Check()は、ユーザーがログインしているかどうかを返します。
Auth :: user()は、ログインしているユーザーがあれば返します。
$user_name = Auth::user()->name;
ユーザーのデータを取得できます。
回答ありがとうございましたが、上記のif文が同等かどうかを尋ねていました –
答えをありがとう。あなたが '$ user'オブジェクトを使うつもりならどうしますか? –
次に、 '$ user = Auth :: user()'を割り当てたいと思うかもしれませんし、ユーザーのID 'Auth :: user() - > id' – Ian