Как создать middleware laravel

Узнайте, как создать middleware laravel и использовать его для реализации авторизации и проверки прав доступа пользователя. В статье приведен пример middleware и пошаговая инструкция по его созданию.

При разработке приложений на базе фреймворка Laravel очень часто используются middleware. Это компоненты которые позволяют обрабатывать запросы перед тем как они будут переданы в контроллер. Также middleware могут быть использованы для обработки ответа перед тем как он будет возвращен пользователю.

Создание middleware

Middleware можно создать используя команду artisan в консоли:

php artisan make:middleware SomeMiddlewareName

Данная команда создаст новый файл в директории app/Http/Middleware и заполнит его стандартным кодом:

<?php

namespace AppHttpMiddleware;

use Closure;

class SomeMiddlewareName
{
    /**
     * Handle an incoming request.
     *
     * @param  IlluminateHttpRequest  $request
     * @param  Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        return $next($request);
    }
}

Для использования созданного middleware нужно добавить его в массив списка middleware в файле app/Http/Kernel.php. Например, для добавления мидлвара SomeMiddlewareName в группу мидлваров web:

protected $middlewareGroups = [
    'web' => [
        ...
        AppHttpMiddlewareSomeMiddlewareName::class,
    ],
];

Также мидлвар можно использовать для защиты маршрута. Для этого добавим строчку в файл маршрутов routes/web.php:

Route::get('/some-route', function () {
    //
})->middleware('SomeMiddlewareName');

Таким образом маршрут будет доступен только после прохождения мидлвара SomeMiddlewareName. Это может быть полезно для аутентификации пользователя или для проверки прав доступа.

Ответы (0)