php中 include,require,include_once,require_once 的區別

smile_fantastic發表於2018-04-20

include(),require(),include_once(),require_once()作用都是包含並執行指定檔案,但是使用場景又有很大區別。


1.include()和require()的區別:

include()引入檔案時,如果遇到錯誤會提示錯誤並繼續執行;require()引入檔案遇到錯誤時也提示錯誤但會終止程式的執行。

require()語句一般放在php指令碼頁面的最前面,php在執行前,就先讀入require()引入的檔案,檔案的內容會變成此指令碼的一部分,一旦出現錯誤,則立即退出程式。

include()語句一般在用到時才引入,所以通常是放在流程控制的處理區段中,php指令碼在執行到它時,才會將檔案包含進來。

即require()是預載入機制,位置在指令碼最前面,一開始就引入所有可能用到的檔案;include()是即用即載入,位置靈活。


2.include()、require()和include_once()、require_once()的區別:

include()、require()執行即包含檔案,不會對引入的檔案進行比較判斷,可能會出現重複包含的情況;而include_once()、require_once()在包含時會先判斷檔案是否

已經包含過了,如果已包含,則不再包含檔案,這樣的引入檔案方式即可以節省資源,又可避免重複定義的錯誤。


相關文章