Введение в посредники в Laravel
Запрос к сайту обычно идёт так: браузер стучится по адресу, Laravel находит маршрут и вызывает действие контроллера. Но часто перед контроллером нужно сделать общую проверку: вошёл ли пользователь, какой язык выбран, не слишком ли много запросов с одного IP.
Если писать это в каждом действии, код раздуется и одно и то же будет повторяться десятки раз. Ошибка в одной проверке - и часть страниц останется без защиты.
Посредник (middleware) - это отдельный слой «перед контроллером». Запрос сначала проходит через него: посредник может пропустить дальше, сделать редирект на логин или вернуть ошибку. Контроллер в этом случае даже не выполнится.
Так выносят всё общее: проверку входа, смену языка по URL, логирование, заголовки ответа. В следующих уроках создадим свой middleware и подключим его к маршрутам.
Зачем нужны посредники, если проверку можно написать в контроллере?
Приведите два примера задач, которые удобно решать через middleware.