3 回答

TA貢獻1829條經(jīng)驗 獲得超6個贊
HP的include()和require()是兩種包含外部文件的方法,二者的區(qū)別如下:
1:加載失敗的處理方式不同:
include()會產(chǎn)生一個警告,而require()則導致一個致命的錯誤(出現(xiàn)錯誤,腳本停止執(zhí)行)
require() :如果文件不存在,會報出一個fatal error.腳本停止執(zhí)行
include() : 如果文件不存在,會給出一個 warning,但腳本會繼續(xù)執(zhí)行
這里特別要注意的是:使用include()文件不存在時,腳本繼續(xù)執(zhí)行,這種情況只出現(xiàn)在PHP 4.3.5之前
推薦使用require_once()和include_once(),可以檢測文件是否有重復包含。
2.php性能不同
對include()來說,在 include()執(zhí)行時文件每次都要進行讀取和評估;
而對于require()來說,文件只處理一次(實際上,文件內(nèi)容替換了require()語句)。
這就意味著如果有包含這些指令之一的代碼和可能執(zhí)行多次的代碼,則使用require()效率比較高。
另一方面,如果每次執(zhí)行代碼時相讀取不同的文件,或者有通過一組文件疊代的循環(huán),就使用include(),
因為可以給想要包括的文件名設置一個變量,當參數(shù)為include()時使用這個變量。
3.二種方式提供不同的使用彈性
require 的使用方法如 require("./inc.php"); 。通常放在 PHP 程式的最前面,PHP 程式在執(zhí)行前,就會先讀入 require 所指定引入的檔案,使它變成 PHP 程式網(wǎng)頁的一部份。
include 使用方法如 include("./inc/.php"); 。一般是放在流程控制的處理區(qū)段中。PHP 程式網(wǎng)頁在讀到 include 的檔案時,才將它讀進來。這種方式,可以把程式執(zhí)行時的流程簡單化。
require即使在條件位FALSE的時候也會被包含,而include只會在執(zhí)行到改位置時候才會去執(zhí)行。
require_once() 語句在腳本執(zhí)行期間包括并運行指定文件。此行為和 require() 語句類似,唯一區(qū)別是如果該文件中的代碼已經(jīng)被包括了,則不會再次包括。require_once()函數(shù)的作用和 require() 是幾乎相同的
include_once() 語句在腳本執(zhí)行期間包括并運行指定文件。此行為和 include() 語句類似,唯一區(qū)別是如果該文件中的代碼已經(jīng)被包括了,則不會再次包括。include_once()函數(shù)的作用和 include() 是幾乎相同的
require_once的作用是會檢查之前是否加載過該文件,如果沒有加載則加載 如果加載過就不再次加載,比如某文件定義了一個類型 如果兩次加載該文件會出現(xiàn)錯誤。

TA貢獻1808條經(jīng)驗 獲得超4個贊
首先在include 和require 這二個字面意思去體會!include 是包含,require 是需要!
很容易就是看出強調(diào)的語氣不一樣! require 出錯匯報error 后面的程序不在執(zhí)行!
include 出錯則報waring !后面的程序繼續(xù)執(zhí)行!
當然還有他們的衍生:include_once() require_once();
這個你自己可以去看看PHP手冊!

TA貢獻1893條經(jīng)驗 獲得超10個贊
php官方的 php手冊上的解釋
require 和 include
幾乎完全一樣,除了處理失敗的方式不同之外。require
在出錯時產(chǎn)生 E_COMPILE_ERROR
級別的錯誤。換句話說將導致腳本中止而 include
只產(chǎn)生警告(E_WARNING),腳本會繼續(xù)運行。
- 3 回答
- 0 關注
- 344 瀏覽
添加回答
舉報