2017-02-11 18 views
0

システムのコードロジックの一部を見直し、いくつかのことについて不思議に思っていました。ユーザーがシステムにログオンしたら、$request->user();またはAuth::user();のいずれかを使用してユーザーオブジェクトを取得できます。

私の質問は以下のとおりです。

  1. 明白以外の2の主な違いは何ですか?
  2. どちらの場合でもユーザーがデータベースから引き出されているのですか、またはユーザーオブジェクトをいくつかの格納されたキャッシュから取得していますか?
  3. どちらの場合も、パスポートの機能を利用してデータベースからユーザーを取得していますか?またはそれを見つけるのが難しい神秘的な貯蔵地帯から引っ張られていますか?

ありがとうございます。 乾杯!

+0

これは事実上同じです。あなたがLaravel Facadesを気に入らないなら、あなたはRequestから離れた方法で行くでしょう。 https://laravel.com/docs/5.4/authentication#retrieving-the-authenticated-user – bcmcfc

+0

これは良い回答であり、感謝していますが、私はまだ彼らがデータベースにどのようにぶつかっているのか混乱しています。データベースにアクセスしているのか、キャッシュサーバー側に格納されているものからユーザーが引き出されているのでしょうか? –

答えて

0

は、私はあなたに簡単な説明を与えてみましょう:

Auth::user();は、資格情報を保持しているか、ユーザーがAuthを使用してアプリケーションにログインするときには、情報を言うことができます。

ユーザーが正常にログに記録されると、ログアウト後に破棄されるcookiesまたはsessionsの形式でユーザーの資格情報が保存されます。

いいえデータベースから取得されません。ログインしたユーザーの詳細はsessionに保存され、そこから取得されます。

+0

さらに詳しい情報が必要な場合は、コメントを書き留めてください。 –

関連する問題