美文网首页
23、TP5的路由参数

23、TP5的路由参数

作者: IUVO | 来源:发表于2018-06-01 15:30 被阅读42次
路由参数
请求类型
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回调函数分别返回truefalse,如果是true就正常路由到对应方法中,如果是false就会提示模块不存在。


域名验证

1、修改/config/route.php文件下路由规则:

<?php
return [
  'test' => ['index/index/test',['method' => 'get','domain'=>'tp5.com'],[]],
];

2、因为当前虚拟主机域名就是tp5.com,所以可以验证成功,正常路由。反之,如果域名验证不成功,就会提示模块不存在。

3、子域名检测因为这里我无法解析,所以暂不演示。

路由参数是用来检验路由地址的,准确的说,是用来校验除了路由变量之外的所有内容。路由变量的校验工作,下一章节变量规则会讲到。

相关文章

网友评论

      本文标题:23、TP5的路由参数

      本文链接:https://www.haomeiwen.com/subject/pbqqsftx.html