for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
declare(strict_types=1);
namespace Chubbyphp\Lazy;
use Psr\Container\ContainerInterface;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Message\ResponseInterface as Response;
final class LazyMiddleware
{
/**
* @var ContainerInterface
*/
private $container;
* @var string
private $serviceId;
* @param ContainerInterface $container
* @param string $serviceId
public function __construct(ContainerInterface $container, string $serviceId)
$this->container = $container;
$this->serviceId = $serviceId;
}
* @param Request $request
* @param Response $response
* @param callable|null $next
*
* @return Response
public function __invoke(Request $request, Response $response, callable $next = null)
$middleware = $this->container->get($this->serviceId);
return $middleware($request, $response, $next);