silencenjoyer/silence-routing
最新稳定版本:0.0.3
Composer 安装命令:
composer require silencenjoyer/silence-routing
包简介
Silence application routing system.
README 文档
README
The package provides a routing system that allows you to bind a route or group of routes to a specific incoming request.
This package is part of the monorepository silencenjoyer/silence, but can be used independently.
⚙️ Installation
composer require silencenjoyer/silence-routing
🚀 Quick start
Basic Usage
<?php declare(strict_types=1); use Silence\Routing\Router; use Silence\Routing\Matcher\HttpMatcher; use Silence\Routing\Group; use Silence\Routing\HttpRoute as Route; $group = Group::of([ Route::get('/', function () { echo 'This is success processed route.'; }), ]); $router = (new Router(new HttpMatcher())) ->registerRoutes($group->getRoutes()) ; $resolvedRoute = $router->resolve($request);
Advanced Usage
<?php declare(strict_types=1); namespace App\Routes; use App\Http\Controllers\SiteController; use Silence\Routing\RouteProviderInterface; use Silence\Routing\Group; use Silence\Routing\HttpRoute as Route; class SiteRouteProvider implements RouteProviderInterface { public function getRoutes(): array { return [ Group::of([ Route::get('/', function () { echo 'This is success processed route.'; }), ]), ]; } }
<?php declare(strict_types=1); use App\Routes\SiteRouteProvider; use Silence\Routing\RouteProviders\RouteProviderRegistry; use Silence\Routing\Router; use Silence\Routing\Matcher\HttpMatcher; $router = new Router(new HttpMatcher()); $registry = new RouteProviderRegistry($router); $registry ->withRoute(new SiteRouteProvider()) ->register() ; $resolvedRoute = $router->resolve($request);
🧱 Features:
- Support for PSR-15 middleware chains.
- Extracting route parameters from the path.
- Route resolving system.
- Named routes.
- Route groups.
- Binding routes to different HTTP request methods.
🧪 Testing
php vendor/bin/phpunit
🧩 Use in the composition of Silence
The package is used as the routing core in the Silence application.
If you are writing your own package, you can connect silencenjoyer/silence-routing to register and resolve routes with parameter substitution.
📄 License
This package is distributed under the MIT licence. For more details, see LICENSE.
统计信息
- 总下载量: 15
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 4
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-18