Laravel – Middleware

Laravel – Middleware

От автора: как следует из названия, Laravel Middleware (посредник) выполняет функцию промежуточного звена между запросом и ответом. Это тип механизма фильтрации. Например, Laravel включает Middleware, которое проверяет подлинность пользователя приложения. Если пользователь аутентифицирован, он будет перенаправлен на главную страницу, в противном случае он будет перенаправлен на страницу входа в систему.

Средство промежуточного уровня можно создать, выполнив следующую команду:

Замените <middleware-name> на имя вашего Middleware. Средство, которое вы создаете, можно будет создано в папке app/Http/Middleware.

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Узнать подробнее

Шаг 1 — Создайте Middleware AgeMiddleware. Для этого нам нужно выполнить следующую команду:

Шаг 2 — После успешного выполнения команды вы получите следующий результат:

Laravel – Middleware

Шаг 3 — AgeMiddleware будет создано в папке app/Http/Middleware. Вновь созданный файл будет уже содержать следующий код.

Регистрация Middleware

Перед использованием мы должны зарегистрировать каждое Middleware. В Laravel существует два типа Middleware.

Глобальное Middleware

Middleware маршрута

Глобальное Middleware обрабатывает все HTTP запросы приложения, в то время как Middleware маршрута обрабатывает определенные маршруты. Middleware можно зарегистрировать в файле app/Http/Kernel.php. Этот файл содержит два свойства $middleware и $routeMiddleware. $middleware используется для регистрации глобального Middleware, а свойство $routeMiddleware — для регистрации Middleware для конкретного маршрута. Чтобы зарегистрировать глобальное Middleware, укажите классы в конце свойства $middleware.

Чтобы зарегистрировать Middleware для конкретного маршрута, добавьте ключ и значение в свойство $routeMiddleware.

В предыдущем примере мы создали AgeMiddleware . Теперь мы можем зарегистрировать его в свойствах Middleware для конкретного маршрута. Код, который используется для этого, приведен ниже. app/Http/Kernel.php

Параметры Middleware

С помощью Middleware мы также можем передавать параметры. Например, если ваше приложение поддерживает разные роли, такие как user, admin, super admin и т. д., и вы хотите аутентифицировать действия на основе роли, это можно сделать с помощью передачи параметров через Middleware. Средство, которое мы создаем, содержит следующую функцию, и мы можем передать наш собственный аргумент после аргумента $next.

Шаг 1 – Создайте Middleware RoleMiddleware, выполнив следующую команду:

Шаг 2 — После успешного выполнения вы получите следующий результат:

Laravel – Middleware

Шаг 3 — Добавьте следующий код в метод обработки созданного RoleMiddlewareat в файле app/Http/Middleware/RoleMiddleware.php

Шаг 4 — Зарегистрируйте RoleMiddleware в файле app\Http\Kernel.php. Добавьте в этот файл строку, выделенную серым цветом, чтобы зарегистрировать RoleMiddleware.

Laravel – Middleware

Шаг 5 — Выполните следующую команду для создания Middleware TestController:

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Узнать подробнее

Шаг 6 — После успешного выполнения команды вы получите следующий результат:

Laravel – Middleware

Шаг 7. Скопируйте следующий код в файл app/Http/TestController.php.

Шаг 8 — Добавьте следующую строку кода в файл app/Http/routes.php.

Шаг 9 – Перейдите по следующему URL-адресу, чтобы проверить Middleware с параметрами http://localhost:8000/role. Шаг 10 – В результате вы должны получить следующее.

Laravel – Middleware

Middleware с методом «terminate»

Terminate Middleware выполняет определенную задачу после отправки ответа в браузер. Это можно сделать с помощью создания Middleware с методом «terminate». Терминальное Middleware должно быть зарегистрировано как глобальное. Метод terminate принимает два аргумента $request и $response. Метод terminate можно создать с помощью следующего кода.

Шаг 1 – Создайте Middleware TerminateMiddleware, выполнив следующую команду.

Шаг 2 – Этот код дает следующий результат:

Laravel – Middleware

Шаг 3 — Скопируйте следующий код во вновь созданное Middleware TerminateMiddleware в app/Http/Middleware/TerminateMiddleware.php.

Шаг 4 — Зарегистрируйте TerminateMiddleware в файле app\Http\Kernel.php. Добавьте в этом файле строку, выделенную серым цветом, чтобы зарегистрировать TerminateMiddleware.

Laravel – Middleware

Шаг 5 — Выполните следующую команду для создания ABCController.

Шаг 6 — После успешного выполнения URL-адреса вы получите следующий результат:

Laravel – Middleware

Шаг 7. Скопируйте следующий код в файл app/Http/ABCController.php.

Шаг 8 — Добавьте следующую строку кода в файл app/Http/routes.php.

Шаг 9 – Перейдите по следующему URL-адресу, чтобы проверить Terminable Middleware. http://localhost:8000/terminate

Шаг 10 – В результате вы получим следующий результат:

Laravel – Middleware

Источник: https://www.tutorialspoint.com/

Редакция: Команда webformyself.

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Узнать подробнее

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Научиться

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Я не робот.

Spam Protection by WP-SpamFree