Обработка роутов в соответствии с PSR-7
Изначально Mezon Router не был совместим с PSR-7. Но одна из последних реализованных фич сделала это возможным. Можно использовать middleware для этих целей.
Мнение автора может не совпадать с мнением редакции
Например:
$router = new Router(); $router->addRoute('/user/[i:id]', function(NyholmPsr7Request $request){ // work here with the request in PSR-7 way $psr17Factory = new NyholmPsr7FactoryPsr17Factory(); $responseBody = $psr17Factory->createStream('Hello world'); $response = $psr17Factory->createResponse(200)->withBody($responseBody); (new endHttpHandlerRunnerEmitterSapiEmitter())->emit($response); }); $router->registerMiddleware('/user/[i:id]', function(string $route, array $parameters){ $psr17Factory = new NyholmPsr7FactoryPsr17Factory(); $creator = new NyholmPsr7ServerServerRequestCreator( $psr17Factory, // ServerRequestFactory $psr17Factory, // UriFactory $psr17Factory, // UploadedFileFactory $psr17Factory // StreamFactory ); return $creator->fromGlobals(); });Самое лучшее в этом примере это то, что если вы не используете в своем проекте PSR-7, то вы не «платите» за это )
Learn more
More information can be found here:
It will be great if you will contribute something to this project. Documentation, sharing the project in your social media, bug fixing, refactoring, or even submitting issue with question or feature request. Thanks anyway )
0