Обработка роутов в соответствии с PSR-7
Например:
$router = new Router(); $router->addRoute('/user/[i:id]', function(\Nyholm\Psr7\Request $request){ // work here with the request in PSR-7 way $psr17Factory = new \Nyholm\Psr7\Factory\Psr17Factory(); $responseBody = $psr17Factory->createStream('Hello world'); $response = $psr17Factory->createResponse(200)->withBody($responseBody); (new \Zend\HttpHandlerRunner\Emitter\SapiEmitter())->emit($response); }); $router->registerMiddleware('/user/[i:id]', function(string $route, array $parameters){ $psr17Factory = new \Nyholm\Psr7\Factory\Psr17Factory(); $creator = new \Nyholm\Psr7Server\ServerRequestCreator( $psr17Factory, // ServerRequestFactory $psr17Factory, // UriFactory $psr17Factory, // UploadedFileFactory $psr17Factory // StreamFactory ); return $creator->fromGlobals(); });Самое лучшее в этом примере это то, что если вы не используете в своем проекте PSR-7, то вы не «платите» за это )
Learn more
More information can be found here: