legatus / router
一个快速且可组合的中间件路由器,灵感来源于 Express.js
0.3.1
2021-02-12 12:38 UTC
Requires
- php: >=7.4
- legatus/http-errors: ^0.1.0
- mnavarrocarter/path-to-regexp-php: ^1.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- ext-json: *
- friendsofphp/php-cs-fixer: ^2.16
- infection/infection: ^0.16.4
- nyholm/psr7: ^1.2
- phpunit/phpunit: ^9.0
- vimeo/psalm: ^3.7
This package is auto-updated.
Last update: 2024-09-12 20:23:59 UTC
README
一个快速且可组合的中间件路由器,灵感来源于 Express.js
安装
您可以使用Composer安装路由器组件
composer require legatus/router
快速开始
<?php declare(strict_types=1); use Legatus\Http\Router; use Legatus\Http\RoutingContext; use Legatus\Http\RoutingContextError; use Psr\Http\Message\ResponseInterface as Resp; use Psr\Http\Message\ServerRequestInterface as Req; use function Legatus\Http\handle_func; /** * @param Req $req * @return Resp * @throws RoutingContextError */ function show_user(Req $req): Resp { $id = RoutingContext::of($req)->getParam('id'); return new Nyholm\Psr7\Response(200, [], 'Hello User ' . $id); } $router = new Router(); $router->get('/users/:id', handle_func('show_user')); $request = new Nyholm\Psr7\ServerRequest('GET', '/users/1'); $response = $router->handle($request); echo $response->getBody() . PHP_EOL; // Hello User 1
更多详情,您可以在此处查看在线文档。
项目状态及发布流程
虽然这个库仍在开发中,但它经过充分测试,应该足够稳定,可以在生产环境中使用。
当前的版本号为0.x.y。当引入非破坏性变更(添加新方法、优化现有代码等)时,y会增加。
当引入破坏性变更时,总是从新的0.x版本周期开始。
因此,将项目锁定到给定的版本周期(如0.2.*)是安全的。
如果您需要升级到较新的版本周期,请查看发布历史,了解每个进一步0.x.0版本引入的变更列表。
社区
我们还没有社区频道。如果您想帮助建立它,请告诉我!
贡献
阅读贡献指南,了解您如何为 Legatus 做出贡献。
安全问题
请通过电子邮件私下报告安全问题,并在披露前给我们一段宽限期。
关于 Legatus
Legatus 是由 Matías Navarro Carter 领导的个人开源项目,并由贡献者开发。