您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
thinkphp5学习笔记-url和路由
发布时间:2018-06-14 21:07:27编辑:雪饮阅读()
自定义url路由:
在application中有route.php:
//自定义路由规则中配置的参数在url地址并不会出现,而是隐藏的,但在控制器中可以获得,而url中仅仅是每个参数对应的值
return [
'__pattern__' => [
//访问url中二级参数可以在这里全局配置匹配正则
'name' => '\w+',
],
'[hello]' => [
//访问url中一级参数可以同时配置多种二级参数规则
//每种二级参数可配置项有:跳转路径、访问方法及后缀、匹配正则
':id' => ['index/hello', ['method' => 'get'], ['id' => '\d+']],
':name' => ['index/hello2', ['method' => 'get']],
':name' => ['index/hello3', ['method' => 'get','ext'=>'html']],
//每种二级参数还可在这里配置是否必须,非必须则用中括号表示,那么也就是说无论有没有该参数都匹配其后规则
'[:name]' => ['index/hello4'],
],
//http://www.tp5.com/today/2018/02.html
'today/:year/:month'=>[
'index/index/today',
['method'=>'get'],
//多个参数也可以逐个配置正则
['year'=>'\d{4}','month'=>'\d{2}']
],
];
控制器中url生成的几种方式:
首先需要依赖于use think\Url;
echo Url::build('url2','a=1&b=2');
echo "<br/>";
echo url('url2','a=1&b=2');
echo "<br/>";
echo url('url2',['a'=>1,'b'=>'2']);
echo "<br/>";
echo url('admin/index2/url2','a=1&b=2');
echo "<br/>";
自定义url参数分隔符:
默认url参数分隔符是“/”,在application中config.php可以进行配置:
'pathinfo_depr' => '/',
关键字词:thinkphp5,url,路由