Главное Авторские колонки Вакансии Образование
282 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

Обработка роутов в соответствии с 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:

Twitter

Medium

Slack

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
В избр. Сохранено
Авторизуйтесь
Вход с паролем