boaPHP开发手册v5.5

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
方法

__construct()

说明
初始化
参数 必须 默认值 类型 说明
$cfg [] array 配置数据
示例
$router = boa::router();

env()

说明
解析当前URL,如开启路由(enable=true),则优先检索路由表
返回值
返回环境(array),出错则报错。
示例
$env = $router->env();

url()

说明
生成URL,如开启路由(enable=true),则优先检索路由表(和路由参数一定要匹配)
参数 必须 默认值 类型 说明
$act Y string 模块.控制器.动作(节点式)
$param [] array URL参数和值,值会被url_encode处理
$method null string 请求方法(如GET),一旦设制,仅匹配路由表中method等于该值的路由
$scheme null string URL协议(如https),一旦设制,仅匹配路由表中scheme等于该值的路由
返回值
返回URL(string)
示例
$param = [
	'name' => $name,
	'id' => $id
];
$url = $router->url('home.index.show', $param);

make()

说明
生成 REQUEST_URI、QUERY_STRING、PATH_INFO
参数 必须 默认值 类型 说明
$act Y string 模块.控制器.动作(节点式)
$args [] array 参数数组,参数名和值之间用=号分割,参数名省略则以数组键名作为参数名
返回值
返回包含REQUEST_URI、QUERY_STRING、PATH_INFO等项的数组(array)
示例
$args = [
	'boa=1',
	'id=2'
];
$arr = $router->make('home.index.show', $args);