Skip to content

PSR-15 FastRoute router middleware for BitFrame microframework

License

Notifications You must be signed in to change notification settings

designcise/bitframe-fastroute

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BitFrame\FastRoute

CI Maintainability Test Coverage

FastRoute wrapper class to manage http routes as a middleware.

Installation

Install using composer:

$ composer require designcise/bitframe-fastroute

Please note that this package requires PHP 8.2.0 or newer.

Examples

Using Attributes for Route Declaration

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

Using Inline Callback to Handle Route

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

Tests

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

Contributing

License

Please see License File for licensing information.

About

PSR-15 FastRoute router middleware for BitFrame microframework

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages