Что такое гость, кроме как в laravel

#php #laravel

#php #ларавель

Вопрос:

Это код в моем Laravel auth/LoginController

 namespace AppHttpControllersAuth;

use AppHttpControllersController;
use AppProvidersRouteServiceProvider;
use IlluminateFoundationAuthAuthenticatesUsers;

class LoginController extends Controller
{
    

    use AuthenticatesUsers;

    /**
     * Where to redirect users after login.
     *
     * @var string
     */
    protected $redirectTo = RouteServiceProvider::HOME;

    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('guest')->except('logout');
    }
}
 

Я новичок в Laravel. Мой вопрос $this->middleware('guest')->except('logout'); в том, что означает эта строка кода? что делать, кроме метода?

в чем смысл этой строки $this->middleware('guest')->except('logout');

Комментарии:

1. laravel.com/docs/8.x/controllers#controller-middleware прочтите документы, это прояснит ситуацию

Ответ №1:

Итак, сначала $this->middleware() внутри конструктора сообщается Laravel, что вы хотите защитить некоторые / все ваши методы от доступа.

 $this->middleware('guest');
 

Здесь «гость» — это одно из промежуточных программных средств.
Это означает, что если пользователь не аутентифицирован, все методы в этом LoginController могут быть доступны.

Однако иногда вы хотите настроить это, возможно, вы хотите применить промежуточное программное обеспечение только для метода или исключить это промежуточное программное обеспечение для метода, вот тогда except и only появляется картина.

 ->except('logout')
 

Это означает исключение logout метода.

 $this->middleware('guest')->except('logout');
 

Таким образом, это означает, что guest можно вводить все методы в этом контроллере, но не logout метод.

Ответ №2:

Это просто означает пренебречь методом выхода из системы, если пользователь не вошел в систему.