標籤:c a strong 檔案 使用 類
本文總結了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()方法的區別。