PHP Класс phprs\Router

通常每一个请求只对应到一个最严格匹配的API接口, 所谓"最严格匹配",比如: API1 接口 => url: /apis/test API2 接口 => url: /apis 那么当请求"/apis/test/123/" 最严格匹配的接口是API1 如果需要让一个请求经过多个API调用, 比如有时候会需要一个统一验证的接口, 让所有请 求先通过验证接口, 再调用其他接口. 此时可以通过Router的hooks属性, 设置一组hook实 现. hook其实和普通的接口一样, 只是在hooks中指定后, 执行行为将有所不同: 请求会按 优先级逐个经过hook, 只要匹配, hook的方法就会被调用, 直到最后调用普通的API 通过@return({"break", true})停止请求链路
Автор: caoym
Показать файл Открыть проект

Открытые свойства

Свойство Тип Описание
$default_strict_matching 指定路由规则默认情况下是否严格匹配path,如果@route中已经指定严格模式,则忽略此默认设置 严格模式将只允许同级目录匹配,否则父目录和子目录也匹配。 非严格匹配时 路由"GET /a" 和请求"GET /a"、"GET /a/b"、"GET /a/b/c"等匹配 严格匹配时 路由"GET /a" 和请求"GET /a"匹配、和"GET /a/b"、"GET /a/b/c"等不匹配
$factory
$ignore_load_error
$url_begin 用于匹配路由的url偏移

Открытые методы

Метод Описание
__construct ( )
__invoke ( Request $request = null, Response &$respond = null ) : void 调用路由规则匹配的api
addRoutes ( string $apis_dir, string $class = null, string $method = null ) : void
getApiFiles ( ) : array 获取api文件列表
getHooks ( ) : array
getRoutes ( ) : array
load ( string | array $api_path, string $apis = null, string $api_method = null )

Приватные методы

Метод Описание
invokeRoute ( array $routes, unknown $request, unknown &$respond ) : boolean 调用路由规则匹配的api
loadApi ( array &$routes, string $class_file, string $class_name, string $method = null ) : void 加载api类
loadRoutes ( &$routes, string $apis_dir, string $class, string $method ) : Router 遍历API目录生成路由规则

Описание методов

__construct() публичный Метод

public __construct ( )

__invoke() публичный Метод

调用路由规则匹配的api
public __invoke ( Request $request = null, Response &$respond = null ) : void
$request Request
$respond Response
Результат void

addRoutes() публичный Метод

public addRoutes ( string $apis_dir, string $class = null, string $method = null ) : void
$apis_dir string
$class string
$method string
Результат void

getApiFiles() публичный Метод

获取api文件列表
public getApiFiles ( ) : array
Результат array

getHooks() публичный Метод

public getHooks ( ) : array
Результат array

getRoutes() публичный Метод

public getRoutes ( ) : array
Результат array

load() публичный Метод

public load ( string | array $api_path, string $apis = null, string $api_method = null )
$api_path string | array
$apis string
$api_method string

Описание свойств

$default_strict_matching публичное свойство

指定路由规则默认情况下是否严格匹配path,如果@route中已经指定严格模式,则忽略此默认设置 严格模式将只允许同级目录匹配,否则父目录和子目录也匹配。 非严格匹配时 路由"GET /a" 和请求"GET /a"、"GET /a/b"、"GET /a/b/c"等匹配 严格匹配时 路由"GET /a" 和请求"GET /a"匹配、和"GET /a/b"、"GET /a/b/c"等不匹配
public $default_strict_matching

$factory публичное свойство

public $factory

$ignore_load_error публичное свойство

public $ignore_load_error

$url_begin публичное свойство

用于匹配路由的url偏移
public $url_begin