designcise/bitframe-fastroute

BitFrame微框架的FastRoute路由中间件

v4.0.0 2023-07-01 23:47 UTC

This package is auto-updated.

Last update: 2024-09-30 01:20:23 UTC


README

CI Maintainability Test Coverage

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,
    // ...
]);

测试

要运行测试,可以使用以下命令

贡献

许可证

请参阅许可证文件以获取许可信息。