當咱們在使用PHP框架的時候,若是框架不支持命名空間,或者某些特殊的狀況,咱們須要額外的引入文件使用require_once(或者require、include等等)引用相對路徑文件時,會提示路徑不正確。php
這是由於框架有一個統一的入口文件index.php,訪問PHP程序都是要最早執行這個入口文件的,因此此時全部的相對路徑都是針對index.php這個文件定義的,而不是咱們使用require_once的那個文件。css
要解決這個問題,有兩種方案:框架
1.繼續使用相對路徑,可是要根據index.php所在的位置找到正確的相對路徑,缺點是每次看到相對路徑總會不自覺的以當前文件爲基礎去查找,增長讀代碼難度網站
2.改成絕對路徑,能夠在index.php定義一個全局變量,用來記錄index.php所在的文件路徑,只要index.php位置不變,那麼這個全局變量就是不變的,再找到須要引入的文件路徑,拼接起來就OK了,很直觀ui
而在使用原生的PHP通常不會出現這個問題,也正是由於咱們沒有統一的入口文件,訪問的哪一個文件就是哪一個url
總結:遇到相對路徑問題,必定要冷靜想清楚http請求最早訪問的是哪一個文件。spa
若是是引用css使用的是url,則是相對於網站根目錄。。。require