designcise / bitframe-fastroute
BitFrame微框架的FastRoute路由中间件
v4.0.0
2023-07-01 23:47 UTC
Requires
- php: >=8.2
- designcise/bitframe: ^4.0
- psr/http-message: ^2.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- phpmd/phpmd: @stable
- phpspec/prophecy: ^1.13
- phpspec/prophecy-phpunit: ^v2.0
- phpstan/phpstan: *
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: 3.*
README
FastRoute包装类,用于将HTTP路由作为中间件管理。
安装
使用composer安装
$ composer require designcise/bitframe-fastroute
请注意,此包需要PHP 8.2.0或更高版本。
示例
使用属性进行路由声明
class SomeController { #[Route(['GET'], '/hello/123')] public function indexAction( ServerRequestInterface $request, RequestHandlerInterface $handler, ): ResponseInterface { $response = $handler->handle($request); $response->getBody()->write( "BitFramePHP - 👋 Build Something Amazing Today!" ); return $response; } }
use BitFrame\App; use BitFrame\Emitter\SapiEmitter; use BitFrame\FastRoute\Router; use SomeController; require 'vendor/autoload.php'; $app = new App(); $router = new Router(); $router->registerControllers([ new SomeController(), ]); $app->run([ SapiEmitter::class, $router, // ... ]);
使用内联回调处理路由
use BitFrame\App; use BitFrame\Emitter\SapiEmitter; use BitFrame\FastRoute\Router; require 'vendor/autoload.php'; $app = new App(); $router = new Router(); $router->map(['GET', 'POST'], '/test', function ($request, $handler) { $response = $handler->handle($request); $response->getBody()->write('Test Page'); return $response; }); $app->run([ SapiEmitter::class, $router, // ... ]);
测试
要运行测试,可以使用以下命令
贡献
- 在https://github.com/designcise/bitframe-fastroute/issues提交问题
- 将补丁提交到https://github.com/designcise/bitframe-fastroute/pulls
许可证
请参阅许可证文件以获取许可信息。