alexpts/psr15-next

PSR-7 和 PSR-15 的路由器

0.5.0 2020-12-01 19:27 UTC

This package is auto-updated.

Last update: 2024-08-29 04:37:22 UTC


README

phpunit codecov

PSR-15 中间件的运行器。

查看示例

  • 带 URL 生成的命名路由
  • OPTIONS 请求返回允许的方法
  • 多路由中间件
  • 多路由器
  • 可嵌套的路由器
  • PSR-15 中间件
  • PSR-7 请求/响应
  • 灵活的优先级(低级)
  • 动态端点(低级)
use Psr\Http\Message\ServerRequestInterface;
use PTS\NextRouter\Resolver\LayerResolver;
use PTS\NextRouter\Next;
use PTS\PSR15\Middlewares\ErrorToJsonResponse;
use PTS\ParserPsr7\SapiEmitter;
use PTS\Psr7\Factory\Psr17Factory;
use PTS\Psr7\Response\JsonResponse;

require_once '../vendor/autoload.php';

$psr17Factory = new Psr17Factory;
$app = new Next;

$app->getRouterStore()
    ->get('/hello', function (ServerRequestInterface $request, $next) {
        return new JsonResponse(['message' => 'Hello world'], 200);
    })
    ->use(function (ServerRequestInterface $request, $next) {
        return new JsonResponse(['message' => 'otherwise']);
    });

$request = $psr17Factory->fromGlobals();
$response = $app->handle($request);
(new SapiEmitter)->emit($response);

安装

composer require alexpts/psr15-next

待办:添加更多示例