Da ich dieselbe Frage hatte und die anderen Antworten mir nicht die gesuchten Informationen lieferten (sie erklären perfekt, was ein Wachmann tut, aber nicht, warum Sie sich jemals Sorgen machen sollten, seine Methoden aufzurufen), werde ich eine andere Antwort geben.
Ich war mir auch nicht sicher über den Unterschied zwischen den vom auth()
Helfer bereitgestellten Methoden und den vom Wachmann selbst bereitgestellten Methoden auth()->guard()
, da sie anscheinend dasselbe taten.
Ein kurzer Überblick dd(auth())
zeigt, dass eine Instanz von zurückgegeben wird AuthManager
. Wir können diese Klasse also im Quellcode nachschlagen : Am Ende von AuthManager.php befindet sich eine __call()
magische Methode, die alle undefinierten Aufrufe an ihre eigene guard()
Methode weiterleitet .
public function __call($method, $parameters)
{
return $this->guard()->{$method}(...$parameters);
}
Dies zeigt uns deutlich, dass die Methoden von auth()
und auth()->guard()
nicht nur dasselbe zu tun scheinen, sondern genau gleich sind . Solange der Standardschutz verwendet werden soll, kann ein zusätzlicher Schutz ->guard()
problemlos weggelassen werden.
$this->preventMinorsGuard();
. Kann so verwendet werden?