Http Handler
Simple PSR-15 Http Handler
Installation
composer require sonsofphp/http-handlerUsage
Usage is pretty simple.
<?php
use SonsOfPHP\Component\HttpHandler\HttpHandler;
use SonsOfPHP\Component\HttpHandler\MiddlewareStack;
$stack = new MiddlewareStack();
$stack->add(new RouterMiddleware());
$stack->add(new CookieMiddleware());
$stack->add(function ($request, $handler) {
// ...
});
// ...
$app = new HttpHandler($stack);
$response = $app->handle($request);The MiddlewareStack accepts objects that implement Psr\Http\Server\MiddlewareInterface and anonymous functions.
Middleware Priorities
An optional second argument may be passed to the MiddlewareStack which is for the priority of the middleware. Priorities are ordered in ascending order.
<?php
use SonsOfPHP\Component\HttpHandler\MiddlewareStack;
$stack = new MiddlewareStack();
$stack->add(new NotFoundMiddleware(), 1025);
$stack->add(new RouterMiddleware(), 255);
$stack->add(new CookieMiddleware(), -255);
$stack->add(new DefaultMiddleware());In the above example, the CookieMiddleware will be processed first and NotFoundMiddleware will be processed last.
Last updated
Was this helpful?