thinkphp 里的 pathinfo 里是怎么实现 get 传参的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NoBrain
V2EX    PHP

thinkphp 里的 pathinfo 里是怎么实现 get 传参的?

  •  
  •   NoBrain 2016-07-03 13:31:56 +08:00 5882 次点击
    这是一个创建于 3394 天前的主题,其中的信息可能已经有所发展或是发生改变。

    例如 http://127.0.0.1/myfuck/index.php/Home/Index/delUser/user_id/2

    但是 /user_id/2 这个是怎么实现 get 传参的?

    如何能实现能使用$_get 来接收传递的 pathinfo 模式下传递的参数?

    13 条回复    2016-07-04 11:14:06 +08:00
    Jakesoft
        1
    Jakesoft  
       2016-07-03 16:40:35 +08:00 via iPhone
    好吧,竟然没人回答,是不是 v2er 都不屑于回答这种问题。

    最简单的做法就是对$_SERVER["REQUEST_URI"]进行字符串切割,然后给$_GET 添加新的元素,当然我不确定 tp 是否用的此"最简单的做法"
    RIcter
        2
    RIcter  
       2016-07-03 16:42:31 +08:00
    为啥不看看源码呢(
    shyling
        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 不同,规则要自定
    NoBrain
        4
    NoBrain  
    OP
       2016-07-03 20:09:51 +08:00
    @Jakesoft 我也是在用这个方法 但是太低端了。。实现不了
    void1900
        5
    void1900  
       2016-07-03 20:39:36 +08:00
    建议别用 thinkphp

    用 laravel 等其他框架 ~
    geeglo
        6
    geeglo  
       2016-07-03 22:38:34 +08:00 via iPhone
    @void1900 人家问怎么实现,你这建议...要不你来讲讲 laravel 的超优越的地方?
    mitoop
        7
    mitoop  
       2016-07-03 23:50:18 +08:00
    Dispatcher 你可以看下这个类 的 dispatch 方法
    void1900
        8
    void1900  
       2016-07-03 23:52:44 +08:00
    @geeglo 我是认真的建议,你脾气好大。。。
    flydogs
        9
    flydogs  
       2016-07-04 08:08:48 +08:00
    看源代码
    NoBrain
        10
    NoBrain  
    OP
       2016-07-04 08:23:42 +08:00
    @void1900 多谢提点
    NoBrain
        11
    NoBrain  
    OP
       2016-07-04 08:24:36 +08:00
    @shyling 跟你说的方法一样,已经实现了,想想,是我脑袋短路了两天
    rming
        12
    rming  
       2016-07-04 10:23:06 +08:00
    NoBrain fuck 你这都是啥关键词啊……
    kancloud
        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
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1331 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 17:12 PVG 01:12 LAX 10:12 JFK 13:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86