include,include_once,require,require_once的區別

nclude() 、require()語句包含並運行指定文件。這兩結構在包含文件上完全一樣,唯一的區別是對於錯誤的處理。require()語句在遇到包含文件不存在,或是出錯的時候,就停止即行,並報錯。include()則繼續即行。

 

include('hello.php');

echo 'include test final!';//include報錯,但是會繼續執行,顯示:include test final!



require('hello.php');

echo 'require test final!';//require報錯,停止代碼的執行。

 

 

1、include()
include(/path/to/filename)

include()語句將在其被調用的位置處包含一個文件。包含一個文件與在該語句所在位置複製制定文件的數據具有相同內容的效果。

使用include()時可以忽略括號。

可以根據條件來執行include()語句。在條件語句中使用include()有個怪現象,它必須包圍在語句塊大括號中,或者用其他語句包圍符括起來。


2、include_once()
include_once(filename)

include_once()函數的作用與include相同,不過它會首先驗證是否已經包含了該文件。如果已經包含,則不再執行include_once。否則,則必須包含該文件。除了這一點與include完全相同。

3、require()
require(filename)

require()在很大程度上與include相同,都是將一個模板文件包含到require調用坐在的位置。

require和include之間有兩點重要的區別。首先,無論require的位置如何,制定文件都將包含到出現require的腳本中。例如,即使require放在計算結果爲假的if語句中,依然會包含指定文件。

第二個重要的區別是:require出錯時,腳本將停止運行,而在使用include的情況下,腳本將繼續執行。

4、require_once()
require_once(filename)

隨着網站越來越大,可能會出現重複包含某些文件。這也許不是問題,但又是修改了所包含文件的變量後,卻由於後面再次包含原來的文件而被覆蓋,可能不希望出現這種情況。還可能出現另一個問題,即所包含文件中函數名的衝突。使用require_once就可以解決這些問題。

require_once函數確保文件只包含一次。在遇到require_once後,後面再試圖包含相同的文件時將被忽略。

發佈了19 篇原創文章 · 獲贊 1 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章