A-A+

PHP include() 和 require()方法的區別

本文總結了PHP的include()和require()兩種包含外部文件的方法的不同之處。基本上就是,加載失敗的處理方法,性能,以及使用彈性方面的不同。

PHP的include()和require()是兩種包含外部文件的方法,對于這兩種方法有什么區別,很多初學者可能不是很明白。下面總結一下 PHP include()和require()的區別:

1:加載失敗的處理方式不同:

include()會產生一個警告,而require()則導致一個致命的錯誤(出現錯誤,腳本停止執行)

require() :如果文件不存在,會報出一個fatal error.腳本停止執行

include() : 如果文件不存在,會給出一個 warning,但腳本會繼續執行

這里特別要注意的是:使用include()文件不存在時,腳本繼續執行,這種情況只出現在PHP 4.3.5之前

使用require_once()和include_once(),可以檢測文件是否有重復包含。
2.php性能

對include()來說,在 include()執行時文件每次都要進行讀取和評估;

而對于require()來說,文件只處理一次(實際上,文件內容替換了require()語句)。

這就意味著如果有包含這些指令之一的代碼和可能執行多次的代碼,則使用require()效率比較高。

另一方面,如果每次執行代碼時相讀取不同的文件,或者有通過一組文件疊代的循環,就使用include(),

因為可以給想要包括的文件名設置一個變量,當參數為include()時使用這個變量。
3.二種方式提供不同的使用彈性。

require 的使用方法如 require(『./inc.php』); 。通常放在 PHP 程式的最前面,PHP 程式在執行前,就會先讀入 require 所指定引入的檔案,使它變成 PHP 程式網頁的一部份。

include 使用方法如 include(『./inc/.php』); 。一般是放在流程控制的處理區段中。PHP 程式網頁在讀到 include 的檔案時,才將它讀進來。這種方式,可以把程式執行時的流程簡單化。

require即使在條件位FALSE的時候也會被包含,而include只會在執行到改位置時候才會去執行。

require_once() 語句在腳本執行期間包括并運行指定文件。此行為和 require() 語句類似,唯一區別是如果該文件中的代碼已經被包括了,則不會再次包括。require_once()函數的作用和 require() 是幾乎相同的

include_once() 語句在腳本執行期間包括并運行指定文件。此行為和 include() 語句類似,唯一區別是如果該文件中的代碼已經被包括了,則不會再次包括。include_once()函數的作用和 include() 是幾乎相同的

require_once的作用是會檢查之前是否加載過該文件,如果沒有加載則加載 如果加載過就不再次加載,比如某文件定義了一個類型 如果兩次加載該文件會出現錯誤

以上就是PHP include()和require()方法的區別。

標籤: