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) | ||||
示例 | ||||
|