РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplrSpMdCr 146 of 210 menu

Создание посредника в Laravel

Свой посредник создают командой Artisan. Laravel положит класс в папку app/Http/Middleware/:

php artisan make:middleware VisitCounter

В классе главный метод - handle. Он получает входящий запрос и колбэк $next. Если всё в порядке, возвращают $next($request) - так запрос идёт дальше (к следующему посреднику или к контроллеру). Если проверку не прошли - делают редирект или ошибку и $next не вызывают.

Пример: считаем посещения страницы в сессии. Сначала читаем счётчик, увеличиваем, сохраняем - и только потом пропускаем запрос дальше:

<?php namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; class VisitCounter { public function handle(Request $request, Closure $next) { $count = $request->session()->get('visits', 0); $request->session()->put('visits', $count + 1); return $next($request); } } ?>

Пока посредник только написан. Чтобы он заработал, его нужно зарегистрировать и повесить на маршруты - это следующие уроки.

Создайте посредник VisitCounter командой Artisan.

В handle сохраняйте в сессии число посещений и вызывайте $next($request).

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить