php 通过相对或得绝对,相对路径与绝对路径的了解与深入
什么是相對路徑與絕對路徑
上周匯報時解決了一些問題,同時也暴露了很多問題,其中一個便是相對路徑與絕對路徑,對于使用xampp搭建服務(wù)器的php來說,【相對路徑】指的是相對于用戶訪問的當前文件,【絕對路徑】指的是相對于htdocs這個文件。
為什么沒使用絕對路徑
之前聽團隊的其他成員說相對路徑和絕對路徑什么的,自己確實不太懂,但后來也沒用到過,也就沒去查,實際上是應(yīng)該用到而自己沒使用,這也和之前不太細心有關(guān)吧,一開始看教程有些知識只是過了一遍,沒有太多印象,再有就是后來套模板的時候報錯,說找不到CSS文件,后來就按照上面給的路徑放的文件,放上去沒有報錯,能正常使用,也就沒再管它。
為什么要使用絕對路徑
開會時通過演示讓我知道了絕對路徑的重要性,但是當時確實沒反應(yīng)過來怎么整
開完會以后我覺得這么重要的問題教程上肯定會有,然后翻了翻教程
這時才明白如果沒有指定,原來它默認是靠相對路徑找到的CSS文件,這樣也就出現(xiàn)了問題
teacher_id是參數(shù)名稱,那么如果使用相對路徑,則后面的CSS/...就不會再被認為是CSS樣式,而是把它當做參數(shù),那么就造成了引用CSS樣式失敗。
雖然我們通過地址找到了CSS樣式的文件,但是這個地址只有我們自己理解為Student的CSS樣式文件,而在他人看來,這是Student控制器下的一個CSS方法,后來的報錯也證實了這一點
因為我們是在Student和Teacher控制器的V層引用的CSS樣式,所以CSS/...從控制器后方出現(xiàn),那么就自然而然的被當作是控制器下的方法
我們再來看一下源碼
可以看到,源代碼傳給瀏覽器的時候,只是傳給瀏覽器“css/bootstrap.min.css”等,而非確切的地址,瀏覽器就會根據(jù)thinkphp5/public/index/student/css這個路徑去找,而此時就暴露了問題,假如URL路徑改變,那么瀏覽器再根據(jù)路徑尋找,就會出現(xiàn)找不到CSS樣式文件的問題,因此使用絕對路徑就可以避免這個問題。
這是CSS文件的存放位置
然后就是絕對路徑不受地址的干擾,而相對路徑會受地址的干擾,如果在public后面添加/index.php,或者像上面一樣刪除student或者teacher后面的index,直接輸入CSS,那么就會出現(xiàn)錯誤
假如我們根據(jù)教程使用絕對地址,那么瀏覽器將會根據(jù)絕對地址尋找CSS樣式文件,此時路徑的改變,則不會造成CSS樣式文件無法被引用的情況
同時,就算后來我們像上面那樣刪去student后面的index.html而輸入CSS,也不會出現(xiàn)上面那樣出現(xiàn)文件的問題,此時會報出“方法不存在的錯誤”,不會像之前那樣出現(xiàn)歧義,給團隊合作帶來麻煩。
總結(jié)與反思
開完會回到宿舍確實挺失落的,明明該會的東西卻沒有掌握住,而且最近匯報總是有問題,有時候看見某些問題覺得難,或者覺得無所謂就放在一邊沒有管,久而久之就造成了一些比較大的失誤,其實也挺感謝這次機會的,給了我一個反思的機會,也讓我知道了解決問題與應(yīng)用知識的重要性,不過也好在這些問題暴露了,要不然以后還是記不住,這次的收獲也是蠻大的。
總結(jié)
以上是生活随笔為你收集整理的php 通过相对或得绝对,相对路径与绝对路径的了解与深入的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么叫7日年化收益率
- 下一篇: sql server php 案例,ph