router类
| 版本 | 1.0+ |
| 命名空间 | boa |
| 文件 | boa/router.php |
| 说明 | URL解析及生成,配置:'ROUTER' => [], |
配置
| 配置项 | 默认值 | 类型 | 说明 |
|---|---|---|---|
| enable | false | bool | 是否开启路由,开启优先走路由表,URL的形式和type值无关 |
| force | false | bool | 是否强制走路由表,在路由表没有匹配的情况下,强制则报404错误,否则继续根据type再解析 |
| type | 0 | int | URL类型,0=动态URL 1=Pathinfo 2=URL重写 在没有开启路由时或路由表没有匹配的情况下,则依据该值继续解析URL或生成URL; 不论type何值,动态URL始终可用 |
| mod | m | string | URL中模块参数名 |
| con | c | string | URL中控制器参数名 |
| act | a | string | URL中动作参数名 |
| url_word | ([a-z0-9\-]+) | string | 后向引用,匹配 a-z、0-9、- |
| param_val | ([^\/]*?) | string | 参数值,匹配非/字符,可为空字符 |
| default | index | string | 默认控制器和动作 |
| delimiter | - | string | 参数和值的分隔符,比如:/ |
目录
| 方法 | 说明 |
|---|---|
| __construct() | 初始化 |
| env() | 解析当前URL,如开启路由(enable=true),则优先检索路由表 |
| url() | 生成URL,如开启路由(enable=true),则优先检索路由表(和路由参数一定要匹配) |
| make() | 生成 REQUEST_URI、QUERY_STRING、PATH_INFO |
方法
| 说明 | ||||
|---|---|---|---|---|
| 初始化 | ||||
| 参数 | 必须 | 默认值 | 类型 | 说明 |
| $cfg | [] | array | 配置数据 | |
| 示例 | ||||
|
||||
| 说明 | ||||
|---|---|---|---|---|
| 解析当前URL,如开启路由(enable=true),则优先检索路由表 | ||||
| 返回值 | ||||
| 返回环境(array),出错则报错。 | ||||
| 示例 | ||||
|
| 说明 | ||||
|---|---|---|---|---|
| 生成URL,如开启路由(enable=true),则优先检索路由表(和路由参数一定要匹配) | ||||
| 参数 | 必须 | 默认值 | 类型 | 说明 |
| $act | Y | string | 模块.控制器.动作(节点式) | |
| $param | [] | array | URL参数和值,值会被url_encode处理 | |
| $method | null | string | 请求方法(如GET),一旦设制,仅匹配路由表中method等于该值的路由 | |
| $scheme | null | string | URL协议(如https),一旦设制,仅匹配路由表中scheme等于该值的路由 | |
| 返回值 | ||||
| 返回URL(string) | ||||
| 示例 | ||||
|
||||
| 说明 | ||||
|---|---|---|---|---|
| 生成 REQUEST_URI、QUERY_STRING、PATH_INFO | ||||
| 参数 | 必须 | 默认值 | 类型 | 说明 |
| $act | Y | string | 模块.控制器.动作(节点式) | |
| $args | [] | array | 参数数组,参数名和值之间用=号分割,参数名省略则以数组键名作为参数名 | |
| 返回值 | ||||
| 返回包含REQUEST_URI、QUERY_STRING、PATH_INFO等项的数组(array) | ||||
| 示例 | ||||
|
||||