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

Создание промежуточного программного обеспечения в Laravel

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

Метод 1: использование команды Artisan

Laravel предоставляет команду Artisan для создания промежуточного программного обеспечения. Откройте терминал и выполните следующую команду:

php artisan make:middleware CustomMiddleware

Эта команда создаст новый файл промежуточного программного обеспечения с именем CustomMiddleware.phpв каталоге app/Http/Middleware. Вы можете настроить имя промежуточного программного обеспечения в соответствии со своими требованиями.

Метод 2: создание вручную

В качестве альтернативы вы можете создать файл промежуточного программного обеспечения вручную. Создайте новый файл с именем CustomMiddleware.phpв каталоге app/Http/Middlewareи добавьте следующий код:

<?php
namespace App\Http\Middleware;
use Closure;
class CustomMiddleware
{
    public function handle($request, Closure $next)
    {
        // Middleware logic goes here
        return $next($request);
    }
}

Метод 3: применение промежуточного программного обеспечения к маршрутам

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

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

После добавления вы можете использовать промежуточное программное обеспечение в своих маршрутах с помощью метода middleware. Например:

Route::get('/example', function () {
    // Route logic here
})->middleware('custom');

Метод 4: применение промежуточного программного обеспечения к контроллеру

Вы также можете применить промежуточное программное обеспечение к контроллеру, добавив его в метод конструктора контроллера. Откройте файл контроллера и добавьте следующий код:

public function __construct()
{
    $this->middleware('custom');
}

Теперь промежуточное программное обеспечение будет применяться ко всем маршрутам, обрабатываемым этим контроллером.

Метод 5: глобальное промежуточное программное обеспечение

Если вы хотите, чтобы промежуточное программное обеспечение применялось ко всем HTTP-запросам, поступающим в ваше приложение, вы можете добавить его в глобальный стек промежуточного программного обеспечения. Откройте файл app/Http/Kernel.phpи добавьте класс промежуточного программного обеспечения в массив $middleware:

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

Промежуточное программное обеспечение будет применено ко всем входящим запросам.