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

Обработка роутов в соответствии с PSR-7

Изначально Mezon Router не был совместим с PSR-7. Но одна из последних реализованных фич сделала это возможным. Можно использовать middleware для этих целей.

Например:

$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:

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
В избр. Сохранено
Авторизуйтесь
Вход с паролем
Комментарии
Первые Новые Популярные
Комментариев еще не оставлено
Выбрать файл
Блог проекта
Расскажите историю о создании или развитии проекта, поиске команды, проблемах и решениях
Написать
Личный блог
Продвигайте свои услуги или личный бренд через интересные кейсы и статьи
Написать

Spark использует cookie-файлы. С их помощью мы улучшаем работу нашего сайта и ваше взаимодействие с ним.