faustvik / router
Router php
v1.0
2022-08-09 16:26 UTC
Requires
- php: >=8.1
Requires (Dev)
- vimeo/psalm: ^4.7
This package is auto-updated.
Last update: 2024-09-09 21:23:57 UTC
README
PHP 路由器
示例
$collections = new RoutesCollection(); $fd = RouteAnonymousFunc::create('/anonym', static function (){ echo "Anonymous Func"; }, ['POST']); $collections->set( Route::create('/', TestController::class, 'actionIndex',[], ['POST'], '/aliasIndex'), $fd, ); $config = new Config(); $config->setRunner(new Runner()); $router = new Router(); $router->setConfig($config); $router->setCollection($collections); $router->run();
路由类
类方法的路由
- 路由 从 uri 路由,例如 /test
- 类 控制器类
- 动作 控制器类的动作(方法)
- 参数 构造器控制器类的参数(可选)
- 方法 允许的 HTTP 方法列表(POST,GET,PUT 等..)
- 别名 路由别名(而不是 /test /testalias)(可选)
示例
Route::create('/', TestController::class, 'actionIndex',[], ['POST'], '/aliasIndex'),
路由匿名函数
匿名函数的路由
- 路由 从 uri 路由,例如 /test
- 函数 路由的匿名函数
- 方法 允许的 HTTP 方法列表(POST,GET,PUT 等..)
- 别名 路由别名(而不是 /test /testalias)(可选)
示例
RouteAnonymousFunc::create('/anonym', static function (){ echo "Anonymous Func"; }, ['POST']);
路由器
解析 uri 并运行动作的路由器类
运行器
负责为路由类运行动作的组件(用于运行动作的类为控制器类或匿名函数)
运行类方法或匿名函数
匹配器
将 uri 与路由列表进行比较,并尝试找到匹配项或抛出异常
CheckerHttpMethod
检查找到的路由允许的 HTTP 方法权限。
配置
配置路由器
方法
setRunner()
setCheckerHttpMethod()
setMatcher()
您可以为路由器添加(实现接口)自定义组件(默认情况下,使用目录 FaustVik\Router\Router\Component
中的组件)
并将其设置到配置:示例
$config = new Config(); $config->setRunner(new RunnerSmp()); $router = new Router(); $router->setConfig($config);
许可证
MIT