Как создать 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. Это может быть полезно для аутентификации пользователя или для проверки прав доступа.