美文网首页
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