首页  >  问答  >  正文

php - tp5获取请求参数

1.问题:照着tp5快速入门手册里学习,运行一段代码和书中的结果(资源类型)不同
2.相关代码:

public function hello(Request $request){
        echo '请求参数';
        dump(input());
        echo 'name:' .$request->param('name');
        echo '资源类型:' .$request->type(). '<br/>';
}

访问路径为:
tp5.com/index/index/hello/test/ddd.html?name=think
书中的结果:资源类型:html,
我运行的结果是:资源类型:xml,
问题出在哪???

还有一个问题,如果把访问路径改成tp5.com/index/index/hello/test/ddd.html/name/think
请求参数结果也变了,
原来路径访问结果:
array(2) {
["name"] => string(5) "think"
["test"] => string(3) "ddd"
}
后来的路径结果:
array(2) {
["test"] => string(8) "ddd.html"
["name"] => string(5) "think"
}
怎么理解tp5.com/index/index/hello/test/ddd.html?name=think这个路径写法?

女神的闺蜜爱上我女神的闺蜜爱上我2702 天前874

全部回复(2)我来回复

  • 过去多啦不再A梦

    过去多啦不再A梦2017-06-20 10:09:39

    tp5.com/index/index/hello/test/ddd.html?name=think
    这种写法,?后边的是直接通过$_GET获取的,
    ?前面的是框架通过pathinfo解析出来的。

    tp5.com/index/index/hello/test/ddd.html/name/think
    这个url中没有?则效果与:
    tp5.com/index/index/hello/test/ddd.html/name/think.html
    是一样的,也就是说最的珠.html可以省略。
    前面的/除了默认的模块,控制器与操作之外 ,通过key/value的方式来解析,
    所以,test/ddd.html
    就解析成["test"] => string(3) "ddd" 了。

    回复
    0
  • 三叔

    三叔2017-06-20 10:09:39

    看不懂题目,但是

    如果把访问路径改成tp5.com/index/index/hello/test/ddd.html/name/think

    这句是错的吧,应该是

    tp5.com/index/index/hello/test/ddd/name/think.html

    返回结果是一样的

    回复
    0
  • 取消回复