例如 http://127.0.0.1/myfuck/index.php/Home/Index/delUser/user_id/2
但是 /user_id/2 这个是怎么实现 get 传参的?
如何能实现能使用$_get 来接收传递的 pathinfo 模式下传递的参数?
1
Jakesoft 2016-07-03 16:40:35 +08:00 via iPhone
好吧,竟然没人回答,是不是 v2er 都不屑于回答这种问题。
最简单的做法就是对$_SERVER["REQUEST_URI"]进行字符串切割,然后给$_GET 添加新的元素,当然我不确定 tp 是否用的此"最简单的做法" |
2
RIcter 2016-07-03 16:42:31 +08:00
为啥不看看源码呢(
|
3
shyling 2016-07-03 17:19:05 +08:00 via iPad
首先你要先让 webserver 把这个地址 route 到对应 php
然后就可以通过$_SERVER['PATH_INFO'] ||$_SERVER['REQUEST_URI'] 得到了 然后根据自己的逻辑给$_GET append ,因为这个是 kv 的,和整个 string 不同,规则要自定 |
5
void1900 2016-07-03 20:39:36 +08:00
建议别用 thinkphp
用 laravel 等其他框架 ~ |
7
mitoop 2016-07-03 23:50:18 +08:00
Dispatcher 你可以看下这个类 的 dispatch 方法
|
9
flydogs 2016-07-04 08:08:48 +08:00
看源代码
|
12
rming 2016-07-04 10:23:06 +08:00
NoBrain fuck 你这都是啥关键词啊……
|
13
kancloud 2016-07-04 11:14:06 +08:00
3.2 版本的 TP 对于 pathinfo 变量的处理是合并到了 get 请求变量里面,但最新版本的 ThinkPHP5 对于 pathinfo 以及路由参数 不再通过 get 方式获取 而是建议使用 Request 对象的 param 方法统一获取当前请求的参数。 参考: http://www.kancloud.cn/manual/thinkphp5/118044
|