在做網站開發時,對於一些公共的邏輯,比如網站頭部,網站導航菜單等,通常都是做一個公共文件,然後在各個頁面上引入這個公共文件。
在PHP裏引入文件可以用include語句,或用require語句,這二者有什麼區別?一起來看下。
(01)我們先做一個公共的文件,文件名叫 ,這個示例文件很簡單,就是輸出一些文本信息。
(02)我們接着在一個頁面裏引入這個文件。
(03)運行頁面後,可以看到有正確執行了引入文件的邏輯,輸出了這些文本信息。
(04)把代碼改成用include來引入這個公共文件。
(05)再次運行後,可以看到也正確執行了引入文件的邏輯,輸出了這些文本信息。
(06)看似二者沒什麼區別。我們再次把代碼改一下,引入一個不存在的文件,然後在引入文件後,也輸出一些信息。代碼如圖
(07)運行後,我們在頁面看到一個警告信息(Warning),但引入代碼後的輸出語句有執行,也就是説雖然用include引入文件發生了錯誤,但不影響後面代碼的運行。
(08)修改代碼,把include改成用require來引入文件,
(09)再看下運行結果,從頁面上看,報錯的是一個嚴重錯誤(Fatal error),而且引入代碼後的輸出語句並沒有執行,也就是説當用require引入文件發生了錯誤,會導致後面的代碼不再運行。這就是require和include引入文件最大的區別了。