Что такое Middleware

«Что такое Middleware» — вопрос из категории Архитектура, который задают на 38% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Middleware — это промежуточный слой между запросом и ответом, обрабатывающий входные данные перед их передачей в основную логику приложения. В PHP-фреймворках (Laravel, Slim) middleware часто используется для аутентификации, валидации, логирования и т.д.

Пример в Laravel:

// Создание middleware
php artisan make:middleware CheckAge

// Регистрация в Kernel.php
protected $routeMiddleware = [
    'age' => AppHttpMiddlewareCheckAge::class,
];

// Использование в роуте
Route::get('profile', function () {
    // ...
})->middleware('age');

Ключевые особенности:

  • Выполняется до/после основного кода
  • Может модифицировать запрос/ответ
  • Позволяет организовать цепочку обработки
  • Упрощает повторное использование кода