faustvik/router

Router php

v1.0 2022-08-09 16:26 UTC

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