Задать вопрос
lovebarcafc
@lovebarcafc
Кратко не получится

Middleware или Controller?

В чем смысл использовать посредники в случае, если нужно проверить допустим Age, если меньше 21 то перенаправить на главную страницу, если можно сделать точно также при помощи контроллера? В документации приведен именно пример с посредниками, но смысл я не уловил.
  • Вопрос задан
  • 1550 просмотров
Подписаться 3 Простой 7 комментариев
Решения вопроса 2
HeadOnFire
@HeadOnFire
PHP, Laravel & WordPress Evangelist
lovebarcafc,
но блин создавать посредника, объявлять его и далее подключать, не совсем уместно для передачи одного не сложного параметра

А если таких параметров больше? И контроллеров, в которых это делается тоже больше 1? Смысл middleware в том, что его можно применить массово из одного места - на все роуты, только апи, консоль или веб, группу роутов... Вот например я пишу АПИ для iOS приложения, и хочу быть уверен, что все запросы на мои роуты содержат заголовок Content-Type: application/json. Запилить под это middleware - самое оно.

Middleware следует воспринимать не как из примера в доке с возрастом, а как слои, через которые request и response проходят. Request входит в приложение и пропускается через ряд "фильтров" (middleware), потом то же самое происходит с response.
Ответ написан
Комментировать
JhaoDa
@JhaoDa
LaravelRUS Team
Представь, что тебе нужно сделать такую проверку для целого раздела, где десяток контроллеров. Или вообще нет контроллеров.

В общем, соответствующий раздел документации надо перечитать ещё раз, а не только на примеры кода смотреть.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы