Tp5路由参数·url_param_type

我们看到代码里的设置

    // URL参数方式 0 按名称成对解析 1 按顺序解析
    'url_param_type'         => 0,

表述不太清,我们自己试验一下吧
我们先设置:’url_param_type’ => 0,
如下controller

class Index
{
    public function url_param_type($name , $age){
        return "name=$name , age= $age" ; 
    }
}

第一个url

http://news.com/index.php/index/index/url_param_type/name/liuguoyan/age/18

打印结果:name=liuguoyan , age= 18
然后我们改一个顺序:

http://news.com/index.php/index/index/url_param_type/age/18/name/liuguoyan

打印结果:name=liuguoyan , age= 18
结果依旧,所以我们有如下的总结:
当 ‘url_param_type’ => 0,时,方法严格按照key,value来取值,尽管它的顺序不改变。我们改成1试试。

http://news.com/index.php/index/index/url_param_type/age/18/name/liuguoyan

还是我们故意弄返的url,打印结果:
name=age , age= 18

明白了这个参数的意义了:
为1时,path_info的取值,是按顺序来取的
为0时,path_info的取值,执行方法会按照key-value形式去取,并不关心其顺序问题。

注意:

当’url_param_type’ =>1,时,不可以使用普通的url解析,如下:

http://news.com/index.php/index/index/url_param_type?age=18&name=liuguoyan

就会报错!!
即当 URL参数方式 0 按名称成对解析 1 按顺序解析
按顺序解析时,不接受普通的?key=value&key=value的传参方式。这一点我们要注意。

暂无评论

相关推荐

TP5标签之for循环

我们使用的场景是根据用户级别显示星,几级就显示几星,代码如下其实$vo.svalue是一个整数,代表几星 <td>{$vo.s …

tp5中使用Command计划任务

有时候我们定时执行任务的需求,也可能是为了性能,也有可能是需求,不管如何,我们如何在TP5中配合计划任务完成这一功 …

tp5标签们

一、比较标签如: {比较标签 name="变量" value="值"} 内容 {/比较标签} {eq name="name&quo …

微信扫一扫,分享到朋友圈

Tp5路由参数·url_param_type