Awesome
PSR-7 and PSR-15 Runtime
A runtime with laminas/diactoros
and laminas/laminas-httphandlerrunner
.
If you are new to the Symfony Runtime component, read more in the main readme.
Installation
composer require runtime/psr-laminas
Usage
This runtime is discovered automatically. You can force your application to use
this runtime by defining the environment variable APP_RUNTIME
.
APP_RUNTIME=Runtime\PsrLaminas\Runtime
PSR-7
// public/index.php
use Psr\Http\Server\RequestHandlerInterface;
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
return function (ServerRequestInterface $request) {
$response = new \Laminas\Diactoros\Response();
$response->getBody()->write('PSR-7');
return $response;
};
PSR-15
// public/index.php
use Psr\Http\Server\RequestHandlerInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Message\ResponseInterface;
require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
class Application implements RequestHandlerInterface {
// ...
public function handle(ServerRequestInterface $request): ResponseInterface
{
$response = new \Laminas\Diactoros\Response();
$response->getBody()->write('PSR-15');
return $response;
}
}
return function (array $context) {
return new Application($context['APP_ENV'] ?? 'dev');
};