请求类型
1、修改
/application/index/controller/Index.php
:
class Index
{
public function test()
{
return 'Welcome back!';
}
}
2、修改自定义路由规则文件:/config/route.php
:
<?php
think\Route::rule('test','index/index/test','GET',[],[]);
?>
3、根据URL
规则访问:http://tp5.com/test
即可。
这就是GET
方式。
4、如果方法中直接声明GET
方式,那么请求类型的参数可以放空:
<?php
think\Route::get('test','index/index/test',[],[]);
?>
结果也是一样的。
5、如果使用路由配置文件数组定义:
<?php
return [
'test' => ['index/index/test',['method' => 'get'],[]],
];
?>
也是一样的。
URL后缀/扩展名
很简单,不赘述。
用回调来验证路由规则
1、自定义配置文件/config/config.php
新增测试配置:
<?php
return [
// 是否开启路由
'url_route_on' => true,
// 测试
'personal_info' => 'male',
];
2、打开应用目录下的/application/common.php
文件,就是公共配置文件,函数回调应该写在这里:
function my_check()
{
$result = \think\Config::get('personal_info');
if ($result) {
return true;
}
else {
return false;
}
}
3、/config/route.php
文件中写入规则:
<?php
return [
'test' => ['index/index/test',['method' => 'get','callback'=>'my_check'],[]],
];
4、根据自定义配置文件中是否有personal_info
配置项,my_check
回调函数分别返回true
和false
,如果是true
就正常路由到对应方法中,如果是false
就会提示模块不存在。
域名验证
1、修改/config/route.php
文件下路由规则:
<?php
return [
'test' => ['index/index/test',['method' => 'get','domain'=>'tp5.com'],[]],
];
2、因为当前虚拟主机域名就是tp5.com
,所以可以验证成功,正常路由。反之,如果域名验证不成功,就会提示模块不存在。
3、子域名检测因为这里我无法解析,所以暂不演示。
路由参数是用来检验路由地址的,准确的说,是用来校验除了路由变量之外的所有内容。路由变量的校验工作,下一章节变量规则会讲到。
网友评论