Создание промежуточного программного обеспечения в 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,
];
Промежуточное программное обеспечение будет применено ко всем входящим запросам.