chubbyphp / chubbyphp-framework-router-fastroute
Fastroute router implementation for chubbyphp-framework.
Installs: 5 030
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 1
Open Issues: 0
Requires
- php: ^7.4|^8.0
- chubbyphp/chubbyphp-framework: ^3.2|^4.0@dev
- nikic/fast-route: ^1.0|^0.6
Requires (Dev)
- bittyphp/http: ^2.0
- chubbyphp/chubbyphp-dev-helper: dev-master
- chubbyphp/chubbyphp-mock: ^1.6
- guzzlehttp/psr7: ^1.4.2
- http-interop/http-factory-guzzle: ^1.0
- infection/infection: ^0.20.2
- laminas/laminas-diactoros: ^2.0
- nyholm/psr7: ^1.0
- php-coveralls/php-coveralls: ^2.4.3
- phploc/phploc: ^6.0.2
- phpstan/extension-installer: ^1.1
- phpstan/phpstan: ^0.12.64
- phpunit/phpunit: ^9.5
- slim/psr7: ^0.5|^1.0
- sunrise/http-factory: ^1.0.4
This package is auto-updated.
Last update: 2021-01-24 09:29:26 UTC
README
Description
Fastroute Router implementation for chubbyphp-framework.
Requirements
- php: ^7.4|^8.0
- chubbyphp/chubbyphp-framework: ^3.2
- nikic/fast-route: ^1.0|^0.6
Installation
Through Composer as chubbyphp/chubbyphp-framework-router-fastroute.
composer require chubbyphp/chubbyphp-framework-router-fastroute "^1.1"
Usage
<?php declare(strict_types=1); namespace App; use Chubbyphp\Framework\Application; use Chubbyphp\Framework\ErrorHandler; use Chubbyphp\Framework\Middleware\ExceptionMiddleware; use Chubbyphp\Framework\Middleware\RouterMiddleware; use Chubbyphp\Framework\RequestHandler\CallbackRequestHandler; use Chubbyphp\Framework\Router\FastRoute\Router; use Chubbyphp\Framework\Router\Route; use Psr\Http\Message\ServerRequestInterface; use Slim\Psr7\Factory\ResponseFactory; use Slim\Psr7\Factory\ServerRequestFactory; $loader = require __DIR__.'/vendor/autoload.php'; set_error_handler([new ErrorHandler(), 'errorToException']); $responseFactory = new ResponseFactory(); $app = new Application([ new ExceptionMiddleware($responseFactory, true), new RouterMiddleware(new Router([ Route::get('/hello/{name:[a-z]+}', 'hello', new CallbackRequestHandler( function (ServerRequestInterface $request) use ($responseFactory) { $name = $request->getAttribute('name'); $response = $responseFactory->createResponse(); $response->getBody()->write(sprintf('Hello, %s', $name)); return $response; } )) ]), $responseFactory), ]); $app->emit($app->handle((new ServerRequestFactory())->createFromGlobals()));
Copyright
Dominik Zogg 2020