FastRoute wrapper class to manage http routes as a middleware.
Install using composer:
$ composer require designcise/bitframe-fastroute
Please note that this package requires PHP 8.2.0 or newer.
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,
// ...
]);
To run the tests you can use the following commands:
Command | Type |
---|---|
composer test |
PHPUnit tests |
composer style |
CodeSniffer |
composer md |
MessDetector |
composer check |
PHPStan |
- File issues at https://github.com/designcise/bitframe-fastroute/issues
- Issue patches to https://github.com/designcise/bitframe-fastroute/pulls
Please see License File for licensing information.