23、TP5的路由参数

路由参数


请求类型

1、修改/application/index/controller/Index.php:

class Index
{
    public function test()
    {
        return 'Welcome back!';
    }
}

2、修改自定义路由规则文件:/config/route.php:


3、根据URL规则访问:http://tp5.com/test即可。

这就是GET方式。

4、如果方法中直接声明GET方式,那么请求类型的参数可以放空:


结果也是一样的。

5、如果使用路由配置文件数组定义:

 ['index/index/test',['method' => 'get'],[]],
];
 ?>

也是一样的。


URL后缀/扩展名

很简单,不赘述。


用回调来验证路由规则

1、自定义配置文件/config/config.php新增测试配置:

 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文件中写入规则:

 ['index/index/test',['method' => 'get','callback'=>'my_check'],[]],
];

4、根据自定义配置文件中是否有personal_info配置项,my_check回调函数分别返回truefalse,如果是true就正常路由到对应方法中,如果是false就会提示模块不存在。


域名验证

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

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

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

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

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

你可能感兴趣的:(23、TP5的路由参数)