Search by

cloud-castle / http-kernel

alex-4-17

HTTP-ядро для PHP 8.1+: матчинг маршрутов, PSR-15 middleware и вызов обработчика поверх cloud-castle/http-router.

v1.12.0 2026-11-07 19:21 UTC

README

🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano

CloudCastle Http Kernel

CloudCastle Http Kernel

Packagist Version Downloads PHP Version License

HTTP-ядро для PHP 8.1+: матчинг через cloud-castle/http-router, PSR-15 middleware и вызов обработчика.

Установка

composer require cloud-castle/http-kernel

Требуется PHP 8.1+. Зависимости рантайма: cloud-castle/http-router, cloud-castle/middleware, PSR-7/15/11.

Быстрый старт

<?php

use CloudCastle\Http\Kernel\KernelFactory;
use CloudCastle\Http\Router\Router;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;

$router = new Router();
$router->get('/hello/{name}', static function (ServerRequestInterface $request): ResponseInterface {
    $name = (string) $request->getAttribute('name');
    // вернуть свой PSR-7 Response
});

$kernel = KernelFactory::create($router, debug: true);
$response = $kernel->handle($request);

Обработчик маршрута может быть callable, [Class, method], RequestHandlerInterface или id сервиса в PSR-11 контейнере. Глобальные и маршрутные middleware — экземпляры, callable или class-string.

Возможности

  • Диспетчеризация PSR-7 запроса через cloud-castle/http-router
  • Стек PSR-15 middleware (cloud-castle/middleware Dispatcher)
  • Резолв handler/middleware из контейнера
  • Атрибуты маршрута и параметров на запросе
  • JSON-ответы 404 / 405 (с Allow) / 500; debug-режим без утечки деталей в prod

Плюсы и минусы

Плюсы: тонкий слой поверх уже готовых router и middleware; DI опционален; ошибки маршрутизации сразу в HTTP-статусы.

Минусы: пакет моложе и менее распространён, чем Symfony HttpKernel / Laminas Stratigility; собственный минимальный JSON-ответ об ошибке без отдельного http-response.

Когда применять

Микрофреймворки и приложения CloudCastle на PSR-7/15, где нужен front controller над http-router без тяжёлого HttpKernel Symfony.

Разработка

composer install
composer check    # линтеры + статический анализ + тесты
composer fix      # автоисправления (Rector, PHP CS Fixer, PHPCBF)
composer ci       # полный CI-пайплайн локально

Полный список команд с описаниями: composer run-script --list.

Документация

Лицензия

MIT © CloudCastle (alex-4-17@yandex.ru)

🇷🇺 Русский · 🇬🇧 English · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇮🇹 Italiano