Изучение пользовательского промежуточного программного обеспечения в Laravel 8: подробное руководство

Промежуточное ПО играет решающую роль в приложениях Laravel 8, предоставляя удобный способ фильтрации HTTP-запросов, входящих в ваше приложение. Хотя Laravel поставляется с несколькими встроенными промежуточными программами, он также позволяет создавать собственные промежуточные программы для удовлетворения конкретных требований приложения. В этой статье мы рассмотрим различные методы создания и использования специального промежуточного программного обеспечения в Laravel 8, а также примеры кода, иллюстрирующие их реализацию.

  1. Создание собственного промежуточного программного обеспечения.
    Чтобы создать собственное промежуточное программное обеспечение в Laravel 8, выполните следующие действия:

Шаг 1. Создайте файл промежуточного программного обеспечения

php artisan make:middleware CustomMiddleware

Шаг 2. Реализация логики промежуточного программного обеспечения
Откройте сгенерированный файл CustomMiddlewareи определите метод handle, который содержит логику, которая будет выполняться до или после запрос обрабатывается приложением.

namespace App\Http\Middleware;
use Closure;
class CustomMiddleware
{
    public function handle($request, Closure $next)
    {
        // Custom middleware logic goes here

        return $next($request);
    }
}
  1. Регистрация пользовательского промежуточного программного обеспечения.
    После того как вы создали собственное промежуточное программное обеспечение, вам необходимо зарегистрировать его в приложении Laravel. Существует два способа регистрации промежуточного программного обеспечения:

а. Глобальное промежуточное программное обеспечение:
Глобальное промежуточное программное обеспечение запускается при каждом HTTP-запросе к вашему приложению. Чтобы зарегистрировать пользовательское промежуточное ПО глобально, добавьте его в свойство $middlewareв классе App\Http\Kernel.

protected $middleware = [
    // Other middleware...
    \App\Http\Middleware\CustomMiddleware::class,
];

б. Промежуточное программное обеспечение маршрута:
Промежуточное программное обеспечение маршрута позволяет назначать промежуточное программное обеспечение конкретным маршрутам или группам маршрутов. Чтобы зарегистрировать собственное промежуточное программное обеспечение в качестве промежуточного программного обеспечения маршрута, добавьте его в свойство $routeMiddlewareв классе App\Http\Kernel.

protected $routeMiddleware = [
    // Other middleware...
    'custom' => \App\Http\Middleware\CustomMiddleware::class,
];
  1. Применение специального промежуточного программного обеспечения к маршрутам.
    Чтобы применить пользовательское промежуточное программное обеспечение к маршруту, вы можете использовать метод middlewareв определении маршрута.
Route::get('/example', function () {
    // Route logic...
})->middleware('custom');
  1. Параметры промежуточного программного обеспечения:
    Промежуточное программное обеспечение в Laravel также может принимать параметры. Чтобы передать параметры в ваше собственное промежуточное программное обеспечение, вы можете связать их с вызовом метода middleware.
Route::get('/example', function () {
    // Route logic...
})->middleware('custom:param1,param2');
  1. Группы промежуточного программного обеспечения.
    Laravel позволяет группировать несколько промежуточного программного обеспечения под одним ключом. Чтобы определить группу промежуточного программного обеспечения, добавьте ее в свойство $middlewareGroupsв классе App\Http\Kernel.
protected $middlewareGroups = [
    'web' => [
        // Other middleware...
        \App\Http\Middleware\CustomMiddleware::class,
    ],
];

Пользовательское промежуточное программное обеспечение обеспечивает гибкий способ удовлетворения конкретных требований в приложениях Laravel 8. В этой статье мы рассмотрели методы создания собственного промежуточного программного обеспечения, его регистрации глобально или в качестве промежуточного программного обеспечения для маршрутов, применения промежуточного программного обеспечения к маршрутам, передачи параметров и использования групп промежуточного программного обеспечения. Используя специальное промежуточное программное обеспечение, вы можете повысить безопасность, производительность и функциональность своих приложений Laravel.