include,require,以及後綴加上once的差異
include() 、require() 語句包含並執行指定檔案。這兩個結構在包含文件上完全一樣,唯一的區別是對於錯誤的處理。 require()語句在遇到包含檔案不存在,或是出錯的時候,就停止即行,並報錯。 include()則繼續即行。
include('hello.php'); echo 'include test final!';//include报错,但是会继续执行,显示:include test final! require('hello.php'); echo 'require test final!';//require报错,停止代码的执行。
1、include(/path/to/filename)
#include()語句將在其被呼叫的位置處包含一個檔案。包含一個文件與在該語句所在位置複製制定文件的資料具有相同內容的效果。
使用include()時可以忽略括號。
可以根據條件來執行include()語句。在條件語句中使用include()有個怪現象,它必須包圍在語句區塊大括號中,或用其他語句包圍符括起來。
2、include_once(filename)
include_once()函數的作用與include相同,不過它會先驗證是否已經包含了該檔案。如果已經包含,則不再執行include_once。否則,則必須包含該文件。除了這一點與include完全相同。
3、require(filename)
require()在很大程度上與include相同,都是將一個模板檔案包含到require呼叫坐在的位置。
require和include之間有兩點重要的差異。首先,無論require的位置如何,制定文件都會包含到出現require的腳本中。例如,即使require放在計算結果為假的if語句中,仍會包含指定檔。
第二個重要的差異是:require出錯時,腳本將停止運行,而在使用include的情況下,腳本將繼續執行。
4、require_once(filename)
隨著網站越來越大,可能會出現重複包含某些檔案。這也許不是問題,但又是修改了所包含檔案的變數後,卻因為後面再次包含原來的檔案而被覆蓋,可能不希望出現這種情況。也可能出現另一個問題,即所包含檔案中函數名稱的衝突。使用require_once就可以解決這些問題。
require_once函數確保檔案只包含一次。在遇到require_once後,後面再試圖包含相同的檔案時將被忽略。
更多PHP相關知識,請造訪PHP中文網!
以上是include,require,以及後綴加once的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!