NoBrain
V2EX  ›  PHP

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

  •  
  •   NoBrain · Jul 3, 2016 · 6743 views
    This topic created in 3780 days ago, the information mentioned may be changed or developed.

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

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

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

    13 replies  •  2016-07-04 11:14:06 +08:00
    Jakesoft
    Jakesoft
    Jul 3, 2016 via iPhone
    1
    好吧,竟然没人回答,是不是 v2er 都不屑于回答这种问题。

    最简单的做法就是对$_SERVER["REQUEST_URI"]进行字符串切割,然后给$_GET 添加新的元素,当然我不确定 tp 是否用的此"最简单的做法"
    RIcter
    RIcter
    Jul 3, 2016
    2
    为啥不看看源码呢(
    shyling
    shyling
    Jul 3, 2016 via iPad
    3
    首先你要先让 webserver 把这个地址 route 到对应 php
    然后就可以通过$_SERVER['PATH_INFO'] ||$_SERVER['REQUEST_URI'] 得到了
    然后根据自己的逻辑给$_GET append ,因为这个是 kv 的,和整个 string 不同,规则要自定
    NoBrain
    NoBrain
    OP
    Jul 3, 2016
    4
    @Jakesoft 我也是在用这个方法 但是太低端了。。实现不了
    void1900
    void1900
    Jul 3, 2016
    5
    建议别用 thinkphp

    用 laravel 等其他框架 ~
    geeglo
    geeglo
    Jul 3, 2016 via iPhone
    6
    @void1900 人家问怎么实现,你这建议...要不你来讲讲 laravel 的超优越的地方?
    mitoop
    mitoop
    Jul 3, 2016
    7
    Dispatcher 你可以看下这个类 的 dispatch 方法
    void1900
    void1900
    Jul 3, 2016
    8
    @geeglo 我是认真的建议,你脾气好大。。。
    flydogs
    flydogs
    Jul 4, 2016
    9
    看源代码
    NoBrain
    NoBrain
    OP
    Jul 4, 2016
    10
    @void1900 多谢提点
    NoBrain
    NoBrain
    OP
    Jul 4, 2016
    11
    @shyling 跟你说的方法一样,已经实现了,想想,是我脑袋短路了两天 囧
    rming
    rming
    Jul 4, 2016
    12
    NoBrain fuck 你这都是啥关键词啊……
    kancloud
    kancloud
    Jul 4, 2016
    13
    3.2 版本的 TP 对于 pathinfo 变量的处理是合并到了 get 请求变量里面,但最新版本的 ThinkPHP5 对于 pathinfo 以及路由参数 不再通过 get 方式获取 而是建议使用 Request 对象的 param 方法统一获取当前请求的参数。 参考: http://www.kancloud.cn/manual/thinkphp5/118044
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   826 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 23:53 · PVG 07:53 · LAX 15:53 · JFK 18:53
    ♥ Do have faith in what you're doing.