zoukankan      html  css  js  c++  java
  • thinkphp5 URL的访问

    ThinkPHP采用单一入口模式访问应用,对应用的所有请求都定向到应用的入口文件,系统会从URL参数中解析当前请求的模块、控制器和操作,下面是一个标准的URL访问格式:

    localhost/index.php/模块/控制器/操作

    而且访问时不需要区分大小写,无论URL是否开启大小写转换,模块名都会强制小写。

    1.应用的index模块的Index控制器定义如下:

    <?php
    namespace appindexcontroller;   //命名空间
    
    class Index{                               //控制器名称
        public function index(){           //方法名称
            return 'index';                    //用return输出而不要用echo
        }
    
        public function hello($name = 'World'){      //方法里可以放变量
            return 'Hello,' . $name . '!';      //这里引用了$name变量,中间拼接用"."
        }
    }            

    现在访问的路径为

    localhost/index/index/hello

    访问URL地址后页面输出结果为:

    Hello,World!

    如果要访问控制器的hello方法,则需要使用完整的URL地址

    localhost/index/index/hello/name/tp5

    访问URL地址后页面输出结果为:

    Hello,tp5!

     现在给hello方法增加第二个参数:

     public function hello($name = 'World', $city = ''){
            return 'Hello,' . $name . '! You come from ' . $city . '.';
        }

    访问地址为

    localhost/index.php/index/index/hello/name/thinkphp/city/shanghai

    页面输出结果为:

    Hello,thinkphp! You come from shanghai.

    可以看到,hello方法会自动获取URL地址中的同名参数值作为方法的参数值,而且这个参数的传入顺序不受URL参数顺序的影响,例如下面的URL地址输出的结果和上面是一样的:

    localhost/index.php/index/index/hello/city/shanghai/name/thinkphp

    或者使用

    localhost/index.php/index/index/hello?city=shanghai&name=thinkphp

    2.如果你的控制器是驼峰的,例如定义一个HelloWorld控制器(application/index/controller/HelloWorld.php):

    <?php
    namespace appindexcontroller;
    
    class HelloWorld{
        public function index($name = 'World'){
            return 'Hello,' . $name . '!';
        }
    }

    正确的URL访问地址(该地址可以使用url方法生成)应该是:

    localhost/index.php/index/hello_world/index

    系统会自动定位到HelloWorld控制器类去操作。

  • 相关阅读:
    关于连接connection reset的问题
    Redis应用场景及缓存问题
    zookeeper集群及kafka集群搭建
    使用自定义注解和切面AOP实现Java程序增强
    Shell脚本控制docker容器启动顺序
    正则表达式匹配${key}并在Java中使用
    Redis基本数据结构之ZSet
    Redis基本数据结构之Set
    Redis基本数据结构之Hash
    Redis基本数据结构之List
  • 原文地址:https://www.cnblogs.com/shenzikun1314/p/6970650.html
Copyright © 2011-2022 走看看