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
파일 보기 프로젝트 열기: caoym/phprs-restful

공개 프로퍼티들

프로퍼티 타입 설명
$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