datapp / router
simple PSR-7 regular expression router
1.1.0
2021-04-01 07:23 UTC
Requires
- psr/http-factory: ^1.0
- psr/http-message: ^1.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- nyholm/psr7: ^1.4
- phpunit/phpunit: ^9.3
- squizlabs/php_codesniffer: *
- vimeo/psalm: ^4.3
This package is not auto-updated.
Last update: 2025-05-09 03:22:21 UTC
README
this router library uses regular expression for routing and is compatible to the PHP Standards Recommendations 7 (HTTP Message Interface), 15 (HTTP Handlers) and 17 (HTTP Factories).
Installation
composer require datapp/router
Usage
<?php
require 'vendor/autoload.php';
$router = new Router(new Dispatcher());
// route without middlewares
$router->addRoute(Route::create('GET', '/^(help)$/', new Help($responseFactory, $streamFactory)));
// route with middlewares
$router->addRoute(Route::create('POST', '/^(login)$/', new Login($responseFactory, $streamFactory))
->withMiddleware(new SessionMiddleware(), new AuthMiddleware()));
// using variables (named groups) in regex
$router->addRoute(Route::create('GET', '/^(user)\/(?<id>[\d]+)$/', new UserShow($responseFactory, $streamFactory))
->withMiddleware(new SessionMiddleware(), new AuthMiddleware()));