php 通过相对或得绝对,相对路径与绝对路径的了解与深入

什么是相对路径与绝对路径

上周汇报时解决了一些问题,同时也暴露了很多问题,其中一个便是相对路径与绝对路径,对于使用xampp搭建服务器的php来说,【相对路径】指的是相对于用户访问的当前文件,【绝对路径】指的是相对于htdocs这个文件。

bVbx3EO?w=497&h=76

为什么没使用绝对路径

之前听团队的其他成员说相对路径和绝对路径什么的,自己确实不太懂,但后来也没用到过,也就没去查,实际上是应该用到而自己没使用,这也和之前不太细心有关吧,一开始看教程有些知识只是过了一遍,没有太多印象,再有就是后来套模板的时候报错,说找不到CSS文件,后来就按照上面给的路径放的文件,放上去没有报错,能正常使用,也就没再管它。

为什么要使用绝对路径

开会时通过演示让我知道了绝对路径的重要性,但是当时确实没反应过来怎么整

开完会以后我觉得这么重要的问题教程上肯定会有,然后翻了翻教程

bVbx3Ez?w=1222&h=733

bVbx3HW?w=1253&h=637

这时才明白如果没有指定,原来它默认是靠相对路径找到的CSS文件,这样也就出现了问题

bVbx3FL?w=1435&h=81

teacher_id是参数名称,那么如果使用相对路径,则后面的CSS/...就不会再被认为是CSS样式,而是把它当做参数,那么就造成了引用CSS样式失败。

bVbx3FW?w=1205&h=519

虽然我们通过地址找到了CSS样式的文件,但是这个地址只有我们自己理解为Student的CSS样式文件,而在他人看来,这是Student控制器下的一个CSS方法,后来的报错也证实了这一点

bVbx3GX?w=1728&h=559

bVbx3G7?w=1672&h=233

因为我们是在Student和Teacher控制器的V层引用的CSS样式,所以CSS/...从控制器后方出现,那么就自然而然的被当作是控制器下的方法

我们再来看一下源码

bVbx3LO?w=718&h=112

可以看到,源代码传给浏览器的时候,只是传给浏览器“css/bootstrap.min.css”等,而非确切的地址,浏览器就会根据thinkphp5/public/index/student/css这个路径去找,而此时就暴露了问题,假如URL路径改变,那么浏览器再根据路径寻找,就会出现找不到CSS样式文件的问题,因此使用绝对路径就可以避免这个问题。

bVbx3Hl?w=1233&h=289

这是CSS文件的存放位置

然后就是绝对路径不受地址的干扰,而相对路径会受地址的干扰,如果在public后面添加/index.php,或者像上面一样删除student或者teacher后面的index,直接输入CSS,那么就会出现错误

bVbx3IS?w=1574&h=765

bVbx3IT?w=1675&h=582

bVbx3FW?w=1205&h=519

假如我们根据教程使用绝对地址,那么浏览器将会根据绝对地址寻找CSS样式文件,此时路径的改变,则不会造成CSS样式文件无法被引用的情况

bVbx3Jt?w=1439&h=771

bVbx3Jz?w=1606&h=765

同时,就算后来我们像上面那样删去student后面的index.html而输入CSS,也不会出现上面那样出现文件的问题,此时会报出“方法不存在的错误”,不会像之前那样出现歧义,给团队合作带来麻烦。

bVbx3Km?w=1649&h=498

总结与反思

开完会回到宿舍确实挺失落的,明明该会的东西却没有掌握住,而且最近汇报总是有问题,有时候看见某些问题觉得难,或者觉得无所谓就放在一边没有管,久而久之就造成了一些比较大的失误,其实也挺感谢这次机会的,给了我一个反思的机会,也让我知道了解决问题与应用知识的重要性,不过也好在这些问题暴露了,要不然以后还是记不住,这次的收获也是蛮大的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值