vulpes/router-v2
最新稳定版本:v1.0.1
Composer 安装命令:
composer require vulpes/router-v2
包简介
router
关键字:
README 文档
README
<?php declare(strict_types=1); /** * * @var CacheInterface $cache * @var LoggerInterface $logger * @var ContainerInterface $container * @var ServerRequestFactoryInterface $serverRequestFactory * @var ResponseFactoryInterface $responseFactory * @var StreamFactoryInterface $streamFactory * @var UriFactoryInterface $uriFactory */ use Psr\Container\ContainerInterface; use Psr\Http\Message\ResponseFactoryInterface; use Psr\Http\Message\ServerRequestFactoryInterface; use Psr\Http\Message\StreamFactoryInterface; use Psr\Http\Message\UriFactoryInterface; use Psr\Log\LoggerInterface; use Psr\SimpleCache\CacheInterface; use Vulpes\RouterV2\RequestHandler; use Vulpes\RouterV2\Router\Dispatcher; use Vulpes\RouterV2\SapiEmitter; use Vulpes\RouterV2\ServerRequestFactory; try { $serverRequestFactory = new ServerRequestFactory( serverRequestFactory: $serverRequestFactory, streamFactory: $streamFactory, uriFactory: $uriFactory ); $serverRequest = $serverRequestFactory->createServerRequest($_SERVER); // register if possible // $container->set(Psr\Http\Message\ServerRequestInterface::class, $serverRequest); $dispatcher = new Dispatcher($responseFactory, $cache); $dispatcher->addControllers( MyControllerOrRequestHandler::class, AnotherControllerOrRequestHandler::class ); $requestHandler = new RequestHandler( container: $container, dispatcher: $dispatcher, responseFactory: $responseFactory, ); $response = $requestHandler->handle($serverRequest); (new SapiEmitter())->emit($response); } catch (Throwable $exception) { ($logger ?? null)?->emergency($exception->getMessage(), [ 'exception' => $exception, 'request' => $serverRequest ?? null ]); header("HTTP/1.1 500 Internal Server Error"); header('Content-Type: text/plain;charset=utf-8'); print $exception; }
统计信息
- 总下载量: 5
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-03-06