ThinkPHP(六)

今天要再来研究下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解析类(后续改进)


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,365评论 19 139
  • 这里记录的是本人学习的thinkPHP笔记官方开发手册http://document.thinkphp.cn/ma...
    远方的枫叶阅读 1,560评论 0 15
  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 10,434评论 3 53
  • 个人入门学习用笔记、不过多作为参考依据。如有错误欢迎斧正 目录 简书好像不支持锚点、复制搜索(反正也是写给我自己看...
    kirito_song阅读 2,614评论 1 37
  • 一、会话控制(session与cookie) 1.cookie简介 Cookie是存储在客户端浏览器中的数据,我们...
    空谷悠阅读 696评论 0 5

友情链接更多精彩内容