PHP Class 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})停止请求链路
Mostra file
Open project: caoym/phprs-restful
Public Properties
Public Methods
Private Methods
Method Details
__construct()
public method
public __invoke ( Request $request = null, Response &$respond = null ) : void |
$request |
Request |
|
$respond |
Response |
|
return |
void |
|
addRoutes()
public method
getApiFiles()
public method
getRoutes()
public method
Property Details
$default_strict_matching public_oe property
指定路由规则默认情况下是否严格匹配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_oe property
$ignore_load_error public_oe property
public $ignore_load_error |
$url_begin public_oe property