#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:
Это просто означает пренебречь методом выхода из системы, если пользователь не вошел в систему.