• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    thinkphp框架实现路由重定义简化url访问地址的方法分析

    本文实例讲述了thinkphp框架实现路由重定义简化url访问地址的方法。分享给大家供大家参考,具体如下:

    如果按照正常访问的话,则需要输入一长串的url地址,这样会显得十分冗长,我可以可以通过对路由规则的重新定义简化url访问地址。

    ?php
    namespace app\index\controller;
    class Index{
       public function index(){
         return '我是index';
       }
       public function hello($name='World'){
         return  'Hello'.$name.'!';
       }
    }
    ?>
    
    

    本来的访问路径应该是:

    localhost/tp/index.php/index/index/hello

    我们在路由定义文件(application/route.php)里面添加一些路由规则,如下:

    return [
      // 添加路由规则 路由到 index控制器的hello操作方法' hello/:name' => 'index/index/hello',
    ];
    
    

    这是以hello开头的并且带参数的访问都会路由到index控制器的hello操作方法。

    此时路径可以写为:

    localhost/tp/hello/Thinkphp

    此时输出结果为:

    HelloThinkphp!

    改变路由规则后若使用原来的路径访问方法后,则会出现错误。

    但此时有一个问题是,如果访问地址为:

    localhost/tp/hello

    话,会抛出 模板不存在的错误,因为在访问时,没有传参,而在定义路由规则时,则带有参数。

    解决办法是在修改路由规则为:

    return [
      // 添加路由规则 路由到 index控制器的hello操作方法' hello/[:name'] => 'index/index/hello',
    ];
    
    

    使用[]把路由规则中的变量包起来,就表示该变量为可选,接下来就可以正常访问了。

    当name参数没有传入值的时候,hello方法的name参数有默认值World,所以输出的内容为

    Hello,World!

    除了路由配置文件中定义之外,还可以采用动态定义路由规则的方式定义,例如在路由配置文件(application/route.php)的开头直接添加下面的方法:

    use think\Route;
     
    Route::rule('hello/:name', 'index/hello');
    
    

    完成的效果和使用配置方式定义是一样的。

    无论是配置方式还是通过Route类的方法定义路由,都统一放到路由配置文件application/route.php文件中

    更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。

    希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

    您可能感兴趣的文章:
    • thinkphp的URL路由规则与配置实例
    • thinkphp5 URL和路由的功能详解与实例
    • ThinkPHP路由详解
    • thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
    • ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
    • 改写ThinkPHP的U方法使其路由下分页正常
    • thinkPHP5.1框架路由::get、post请求简单用法示例
    • thinkphp中U方法按路由规则生成url的方法
    • ThinkPHP路由机制简介
    • thinkPHP5框架路由常用知识点汇总
    • thinkphp5框架路由原理与用法详解
    上一篇:Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
    下一篇:TP5框架实现一次选择多张图片并预览的方法示例
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    thinkphp框架实现路由重定义简化url访问地址的方法分析 thinkphp,框架,实现,路由,