Я просматривал созданный в подлинных контроллерах, и я заметил, что они используют что-то позвонившее "гвардия". Вплоть до сих пор каждый раз, когда я сделал свои собственные формы логинов/регистра, я никогда не касался их и буду обычно просто делать вещи как:
Auth::attempt()
без любого типа защиты. Я попытался искать то, что точно это всего лишь, я не мог действительно найти информацию о нем, кто-то мог объяснить мне, какой цель защиты?
Защита является способом предоставить логику, которая используется для идентификации аутентифицируемых пользователей. Laravel обеспечивает различную защиту как сессии и маркеры. Защита сессии поддерживает состояние пользователя в каждом запросе cookie, и с другой стороны, маркерная защита аутентифицирует пользователя путем проверки допустимого маркера в каждый запрос.
, Так как у меня были тот же вопрос и другие ответы, не предоставил мне информацию, которую я искал (они объясняют отлично, что защита делает, но не, почему необходимо когда-либо волноваться о вызове его методов), я предоставлю другой ответ.
я был также не уверен в различии между методами, предоставленными auth()
помощник и методы, предоставленные самой защитой auth()->guard()
, когда они, казалось, сделали то же.
А, быстрый dd(auth())
, показывает, что возвращает экземпляр AuthManager
. Таким образом, мы можем искать тот класс в [1 110] исходный код : В нижней части [1 113] AuthManager.php там __call()
волшебный метод , который переводит все неопределенные вызовы к его собственному guard()
метод.
public function __call($method, $parameters)
{
return $this->guard()->{$method}(...$parameters);
}
Это ясно показывает нам, что методы auth()
и auth()->guard()
не только, кажется, делают, то же, но и точно тот же . Таким образом, пока защита по умолчанию должна использоваться, еще ->guard()
могут быть опущены с душевным спокойствием.