美文网首页
ThinkPHP(六)

ThinkPHP(六)

作者: mmthinkin | 来源:发表于2017-04-14 18:13 被阅读0次

今天要再来研究下tp的Dispatcher.class.php,并且自己想也写个仿照tp该类的url解析类,虽然可能没有tp那样复杂,但是基础原理还是有的。

dispatcher.class.php (thinkphp(三)

$_SERVER['PATH_INFO']

这个变量有必要解释一下,他的作用就是解析你真正请求的文件(如index.php)后面非参数形式的内容

http://127.0.0.1/search/index.php/Home/index/index            // /Home/index/index

http://127.0.0.1/search/index.php/Home/index/index?a=3    // /Home/index/index

基本上的情况就是这样,如果想进一步了解可以自行Google

另外和这哥们有关的几个变量

请求地址(http://127.0.0.1/tp/index.php/Home/index/index?a=3)

REQUEST_URI(用户导航栏除了域名之后的东西,类似/tp/index.php/Home/index/index?a=3),

PHP_SELF(/tp/index.php/Home/index/index,它和上面的区别不仅在于会去掉get参数,它表示user真正请求的URL,及时输入http://127.0.0.1/tp/), 该值仍为/tp/index.php,这点需要在rewrite模式下注意)

SCRIPT_NAME(/tp/index.php);

QUERY_STRING(a=3);

pathinfo()

该函数第二个参数为,PATHINFO_DIRNAME,PATHINFO_BASENAME和PATHINFO_EXTENSION或PATHINFO_FILENAME,分别返回不加该参数的数组键值为dirname,basename,extension,filename;

顺便粘贴下自创愚蠢式url解析类(后续改进)

相关文章

网友评论

      本文标题:ThinkPHP(六)

      本文链接:https://www.haomeiwen.com/subject/bkpwattx.html