私が使用することができますいずれかAuth :: check()またはAuth :: user() - Laravel 5.1を使用するのはどれですか?私は、ユーザーが自分のLaravel 5.1アプリケーション内でログインしているかどうかを確認したい場合は
if (Auth::user()) {...}
または
if (Auth::check()) {...}
かどうかをチェックするときに、他の上に1を好む理由がありますユーザーはログインしていますか?
私が使用することができますいずれかAuth :: check()またはAuth :: user() - Laravel 5.1を使用するのはどれですか?私は、ユーザーが自分のLaravel 5.1アプリケーション内でログインしているかどうかを確認したい場合は
if (Auth::user()) {...}
または
if (Auth::check()) {...}
かどうかをチェックするときに、他の上に1を好む理由がありますユーザーはログインしていますか?
いいえ、受け入れられた回答が正しくありません。
Auth::check()
はAuth::user()
になる。私が覚えている限り、それはそうした方法でした。
つまり、Auth::check()
はAuth::user()
を呼び出し、その結果を取得して、そのユーザーが存在するかどうかを確認します。主な違いは、ユーザーがあなたのためにnullであるかどうかをチェックし、ブール値を取得することです。
これは、チェック機能である:あなたが見ることができるように
public function check()
{
return ! is_null($this->user());
}
、それがnullかどうuser()
方法、小切手を呼び出し、その後、ブール値を返します。
正直なところ、わかりません。 :)しかし私のために、それは方法の背後にある意図です。ユーザーがログインしているかどうかをチェックしたい場合はAuth :: check()を書くのが好きです。ユーザーがゲストかどうかを確認する 'Auth :: guest()'を書くのが好きです。 '!Auth :: check()'を実行するよりも読みやすいです。現在ログインしているユーザーを取得したい場合、 'Auth :: user()'と書くのが好きです。この場合PHPは動的な言語なので、おそらく 'Auth :: user()'で取り除くことができますが、もう少し明示的にすることが役に立ちます。 –
十分な、それは私のために働く – tam5
ユーザーがログインしているかどうかを確認したい場合は、Auth::check()
がより正確です。
Auth::user()
は、単にセッションを確認する必要があるAuth::check()
よりもデータベース呼び出しを行います(やや重くなります)。
Auth::guard('admin')->user()->email
これは私のために働いてみてください。
私の答えを見てください。 :) –