#laravel
#ларавель
Вопрос:
Я расширяю контроллер Laravel для пакета.
Итак, я знаю, что контроллеры Laravel запускают свой конструктор и метод на разных этапах приложения.
public function __construct()
{
//Middlewares have not run yet
//auth()->check() or auth()->user() do not work yet
}
И в любом другом методе в вашем контроллере
public function anyOtherMethod()
{
//All good, everything has booted.
}
Я ищу способ провести различие между этими двумя этапами. Например, есть ли метод, который говорит?
app()->middlewaresHaveBeenHandled(); //returns true or false
//or
app()->authIsBootedYouMayUseIt(); //returns true or false
Ответ №1:
Запрос session
from равен null, если последний еще не обработан приложением. Поэтому хорошей проверкой было бы
if(request()->route() amp;amp; !request()->hasSession()){
//request has not been handled
}else{
//request has been handled
}
Проверка маршрута запроса необходима, чтобы убедиться, что это HTTP-запрос, и он не будет мешать тестам или действиям консоли