溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

require與require_once在php中有什么區(qū)別

發(fā)布時(shí)間:2021-01-05 15:51:16 來源:億速云 閱讀:119 作者:Leah 欄目:開發(fā)技術(shù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)require與require_once在php中有什么區(qū)別,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

include() 和require()   :語句包括并運(yùn)行指定文件。
include() 產(chǎn)生一個(gè)警告而 require() 則導(dǎo)致一個(gè)致命錯(cuò)誤。換句話說,如果你想在遇到丟失文件時(shí)停止處理頁面就用 require()。include() 就不是這樣,腳本會(huì)繼續(xù)運(yùn)行。

require_once() 語句在腳本執(zhí)行期間包括并運(yùn)行指定文件。此行為和 require() 語句類似,唯一區(qū)別是如果該文件中的代碼已經(jīng)被包括了,則不會(huì)再次包括。
include_once() 語句在腳本執(zhí)行期間包括并運(yùn)行指定文件。此行為和 include() 語句類似,唯一區(qū)別是如果該文件中的代碼已經(jīng)被包括了,則不會(huì)再次包括。如同此語句名字暗示的那樣,只會(huì)包括一次。

1.include() 函數(shù)會(huì)將指定的檔案讀入并且執(zhí)行里面的程序。

例如:include('/home/me/myfile');

被導(dǎo)入的檔案中的程序代碼都會(huì)被執(zhí)行,而且這些程序在執(zhí)行的時(shí)候會(huì)擁有和源文件中呼叫到 include() 函數(shù)的位置相同的變量范圍(variable scope)。你可以導(dǎo)入同一個(gè)服務(wù)器中的靜態(tài)檔案,甚至可以通過合并使用 include() 與 fopen() 函數(shù)來導(dǎo)入其它服務(wù)器上面的檔案。

2.include_once()函數(shù)的作用和 include() 是幾乎相同的

唯一的差別在于 include_once() 函數(shù)會(huì)先檢查要導(dǎo)入的檔案是不是已經(jīng)在該程序中的其它地方被導(dǎo)入過了,如果有的話就不會(huì)再次重復(fù)導(dǎo)入該檔案(這項(xiàng)功能有時(shí)候是很重要的,比方說要導(dǎo)入的檔案里面宣告了一些你自行定義好的函數(shù),那么如果在同一個(gè)程序重復(fù)導(dǎo)入這個(gè)檔案,在第二次導(dǎo)入的時(shí)候便會(huì)發(fā)生錯(cuò)誤訊息,因?yàn)?PHP 不允許相同名稱的函數(shù)被重復(fù)宣告第二次)。

3.require()函數(shù)會(huì)將目標(biāo)檔案的內(nèi)容讀入,并且把自己本身代換成這些讀入的內(nèi)容。

這個(gè)讀入并且代換的動(dòng)作是在 PHP 引擎編譯你的程序代碼的時(shí)候發(fā)生的,而不是發(fā)生在 PHP 引擎開始執(zhí)行編譯好的程序代碼的時(shí)候(PHP 3.0 引擎的工作方式是編譯一行執(zhí)行一行,但是到了 PHP 4.0 就有所改變了,PHP 4.0 是先把整個(gè)程序代碼全部編譯完成后,再將這些編譯好的程序代碼一次執(zhí)行完畢,在編譯的過程中不會(huì)執(zhí)行任何程序代碼)。require() 通常來導(dǎo)入靜態(tài)的內(nèi)容,而 include() 則適合用來導(dǎo)入動(dòng)態(tài)的程序代碼。

4.如同 include_once()函數(shù),require_once() 函數(shù)會(huì)先檢查目標(biāo)檔案的內(nèi)容是不是在之前就已經(jīng)導(dǎo)入過了,如果是的話,便不會(huì)再次重復(fù)導(dǎo)入同樣的內(nèi)容。

上述就是小編為大家分享的require與require_once在php中有什么區(qū)別了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI