Router library
Description
This library is just proof of concept. > We do NOT recommended the use of production environment., (*1)
Provide router implementation, (*2)
![Software License][ico-license]
![Coverage Status][ico-scrutinizer]
![Total Downloads][ico-downloads], (*3)
Install
Package is available on Packagist, you can install it using Composer., (*4)
``` bash
composer require devop-core/router, (*5)
## Usage
``` php
<?php
include_once '../vendor/autoload.php';
$router = new DevOp\Core\Router\Router();
$router->get('page1', '/page1/{name:\w+}/{id}', function($request, $response){
$response->getBody()->write('Hello world!');
return $response;
});
$uri = (new DevOp\Core\Http\UriFactory())->createUri('/page1/devop/1');
$request = (new \DevOp\Core\Http\ServerRequestFactory())->createServerRequest('GET', $uri);
try {
/* @var $route \DevOp\Core\Router\Route */
$route = $router->dispatch($request);
} catch (\DevOp\Core\Router\Exceptions\RouteNotFoundException $ex) {
var_dump($ex);
} catch (DevOp\Core\Router\Exceptions\RouteIsNotCallableException $ex) {
var_dump($ex);
}
var_dump($route);
Change log
Please see CHANGELOG for more information on what has changed recently., (*6)
Testing
bash
$ vendor/bin/phpunit
, (*7)
Contributing
Please see CONTRIBUTING for details., (*8)
License
The MIT License (MIT). Please see License File for more information., (*9)