2017-02-11 3 views
0

Ich habe einige der Code-Logik auf meinem System überprüft und über einige Dinge nachgedacht. Nachdem sich eine Person am System angemeldet hat, können Sie entweder $request->user(); oder Auth::user(); verwenden, um das Benutzerobjekt abzurufen.

Meine Fragen sind:

  1. Was sind die wichtigsten Unterschiede zwischen den beiden anderen als den offensichtlichen sind?
  2. Wird der Benutzer in beiden Fällen aus der Datenbank gezogen, oder wird das Benutzerobjekt aus einem gespeicherten Cache gezogen?
  3. Nutzen beide Fälle die Funktionalität des Passes, um den Benutzer aus der Datenbank zu holen? oder wird es aus einem mystischen Lagerland gezogen, das schwer zu finden ist?

Vielen Dank im Voraus, Prost!

+0

Sie sind effektiv gleich. Wenn Sie Laravel Fassaden nicht mögen, würden Sie für die Methode aus Anfrage gehen. https://laravel.com/docs/5.4/authentication#retrieving-the-authenticated-user – bcmcfc

+0

Während dies eine gute Antwort ist und geschätzt wird, bin ich immer noch verwirrt darüber, wie sie die Datenbank treffen. Schlagen beide die Datenbank oder wird der Benutzer aus etwas entnommen, das im Cache-Server gespeichert ist? –

Antwort

0

Lassen Sie mich Ihnen eine kurze Beschreibung geben:

Auth::user(); hält die Anmeldeinformationen oder Sie können die Informationen sagen, wenn sich ein Benutzer anmeldet in Anwendung Auth verwenden.

Wenn der Benutzer erfolgreich angemeldet ist, werden seine Anmeldeinformationen in Form von cookies oder sessions gespeichert, die nach dem Abmelden zerstört werden.

Nein, es wird nicht aus der Datenbank gezogen. Die eingeloggten Benutzerdaten werden in session gespeichert und von dort abgerufen.

+0

Wenn Sie mehr Informationen wünschen, kommentieren Sie einfach und ich werde die Antwort entsprechend aktualisieren. –

Verwandte Themen