| 包 | mvc |
|---|---|
| 类层次 | class QRouter |
| 版本 | $Id: router.php 2653 2009-09-07 02:57:57Z dualface $ |
QRouter 实现了自定义路由解析
| 属性 | 类型 | 描述 | 定义于 |
|---|---|---|---|
| $_matched_route_name | string | 当前匹配成功的路由名字 | QRouter |
| $_reverse_matched_route_name | string | 最后一次反向匹配成功的路由名称 | QRouter |
| $_routes | array | 路由 | QRouter |
| $_var_prefix | string | 用于识别变量的前缀符号 | QRouter |
| $_part_delimiter | string | 用于分割匹配模式多个部分的定界符 | QRouter |
| $_default_var_regex | string | 匹配变量的正则表达式 | QRouter |
| $_udi_var_regex | string | 保留变量的默认比对规则 | QRouter |
| $_udi_parts | array | 保留的变量 | QRouter |
| 方法 | 描述 | 定义于 |
|---|---|---|
| import() | 导入路由规则 | QRouter |
| add() | 添加一条路由规则 | QRouter |
| prepareRoute() | 准备指定的路由 | QRouter |
| remove() | 移除指定的路由规则 | QRouter |
| get() | 取得指定名称的路由规则 | QRouter |
| match() | 匹配路由规则,成功返回匹配结果,失败返回 false | QRouter |
| lastMatchedRouteName() | 返回最后一次匹配成功的路由名称 | QRouter |
| url() | 通过反相匹配路由规则来生成 URL | QRouter |
| lastReverseMatchedRouteName() | 返回最后一次反向匹配成功的路由名称 | QRouter |
| 方法 | 描述 | 定义于 |
|---|---|---|
| _matchRegexRoute() | 匹配基于正则的路由规则,成功返回匹配结果,失败返回 false | QRouter |
| _matchSimpleRoute() | 匹配路径,成功返回匹配结果,失败返回 false | QRouter |
| _reverseMatch() | 根据参数创建匹配该路由的 URL,成功返回 URL 字符串,失败返回 FALSE | QRouter |
| _reverseMatchRegexRoute() | 根据参数创建匹配该路由的 URL,成功返回 URL 字符串,失败返回 FALSE | QRouter |
| _reverseMatchSimpleRoute() | 根据参数创建匹配该路由的 URL,成功返回 URL 字符串,失败返回 FALSE | QRouter |
| _reverseMatchVars() | 反向比对变量 | QRouter |
| _prepareRegexRoute() | 准备基于正则的路由 | QRouter |
| _prepareSimpleRoute() | 准备简单路由规则 | QRouter |
当前匹配成功的路由名字
最后一次反向匹配成功的路由名称
路由
用于识别变量的前缀符号
用于分割匹配模式多个部分的定界符
匹配变量的正则表达式
保留变量的默认比对规则
保留的变量
public QRouter import($rules, $cache_id)
| $rules | array | |
| $cache_id | string | |
| {return} | QRouter |
导入路由规则
如果指定了 $cache_id 参数,则首先尝试从缓存载入解析好的路由规则。
public QRouter add($route_name, $rule)
| $route_name | string | |
| $rule | array | |
| {return} | QRouter |
添加一条路由规则
public array prepareRoute($route_name, $rule)
| $route_name | string | |
| $rule | array | |
| {return} | array |
准备指定的路由
public QRouter remove($route_name)
| $route_name | string | |
| {return} | QRouter |
移除指定的路由规则
public array get($route_name)
| $route_name | string | |
| {return} | array |
取得指定名称的路由规则
public array|boolean match($path)
| $path | string | |
| {return} | array|boolean |
匹配路由规则,成功返回匹配结果,失败返回 false
public string lastMatchedRouteName()
返回最后一次匹配成功的路由名称
public string url($url_args, $route_name)
| $url_args | array | |
| $route_name | string | |
| {return} | string |
通过反相匹配路由规则来生成 URL
public string lastReverseMatchedRouteName()
返回最后一次反向匹配成功的路由名称
protected array|boolean _matchRegexRoute($route, $path)
| $route | array | |
| $path | array | |
| {return} | array|boolean |
匹配基于正则的路由规则,成功返回匹配结果,失败返回 false
protected array|boolean _matchSimpleRoute($route, $path)
| $route | array | |
| $path | array | |
| {return} | array|boolean |
匹配路径,成功返回匹配结果,失败返回 false
protected string|boolean _reverseMatch($route, $url_args)
| $route | array | |
| $url_args | array | |
| {return} | string|boolean |
根据参数创建匹配该路由的 URL,成功返回 URL 字符串,失败返回 FALSE
protected string|boolean _reverseMatchRegexRoute($route, $url_args)
| $route | array | |
| $url_args | array | |
| {return} | string|boolean |
根据参数创建匹配该路由的 URL,成功返回 URL 字符串,失败返回 FALSE
protected string|boolean _reverseMatchSimpleRoute($route, $url_args)
| $route | array | |
| $url_args | array | |
| {return} | string|boolean |
根据参数创建匹配该路由的 URL,成功返回 URL 字符串,失败返回 FALSE
protected array _reverseMatchVars($route, $url_args)
| $route | array | |
| $url_args | array | |
| {return} | array |
反向比对变量
protected array _prepareRegexRoute($route_name, $rule)
| $route_name | string | |
| $rule | array | |
| {return} | array |
准备基于正则的路由
protected array _prepareSimpleRoute($route_name, $rule)
| $route_name | string | |
| $rule | array | |
| {return} | array |
准备简单路由规则