boa框架开发手册v5.2

router类
版本 1.0+
命名空间 boa
文件 boa/router.php
说明 URL解析及生成,配置:'ROUTER' => [],
配置
配置项 默认值 类型 说明
enable false bool 是否开启路由
force false bool 是否强制走路由表
type 0 int URL类型,0=Dynamic 1=Pathinfo 2=Rewrite
type为1或2时,仍然可以使用动态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 = boa::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' => 'boa',
	'id' => 1
];
$url = boa::router()->url('home.index.show', $param);

//结果:

'http://boasoft.top/boa/1.html'  //匹配路由 'home.index.show'

'/index.php/home/index/show/name-boa/id-1/' //未匹配路由

'/index.php?m=home&c=index&a=show&name=boa&id=1' //未匹配路由

make()

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