include()與require()在PHP中有什么不同?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
創(chuàng)新互聯(lián)建站基于成都重慶香港及美國(guó)等地區(qū)分布式IDC機(jī)房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動(dòng)大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專(zhuān)業(yè)四川電信機(jī)房托管報(bào)價(jià),主機(jī)托管價(jià)格性價(jià)比高,為金融證券行業(yè)服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨(dú)享,G口帶寬及機(jī)柜租用的專(zhuān)業(yè)成都idc公司。require 的使用方法如 require("MyRequireFile.php");。這個(gè)函數(shù)通常放在 PHP 程序的最前面,PHP 程序在執(zhí)行前,就會(huì)先讀入 require 所指定引入的文件,使它變成 PHP 程序網(wǎng)頁(yè)的一部份。常用的函數(shù),亦可以這個(gè)方法將它引入網(wǎng)頁(yè)中。
include 使用方法如 include("MyIncludeFile.php"); 。這個(gè)函數(shù)一般是放在流程控制的處理部分中。PHP 程序網(wǎng)頁(yè)在讀到 include 的文件時(shí),才將它讀進(jìn)來(lái)。這種方式,可以把程序執(zhí)行時(shí)的流程簡(jiǎn)單化。
他們兩個(gè)的用途是完全一樣的,不一定非得哪個(gè)放在最前面哪個(gè)放在中間。他們最根本的區(qū)別在于錯(cuò)誤處理的方式不一樣。
require一個(gè)文件存在錯(cuò)誤的話,那么程序就會(huì)中斷執(zhí)行了,并顯示致命錯(cuò)誤
include一個(gè)文件存在錯(cuò)誤的話,那么程序不會(huì)中端,而是繼續(xù)執(zhí)行,并顯示一個(gè)警告錯(cuò)誤。
以下為補(bǔ)充:
1. include有返回值,而require沒(méi)有。
2. include()包括并運(yùn)行指定文件 在處理失敗時(shí)include() 產(chǎn)生一個(gè)警告,被導(dǎo)入的程序代碼都會(huì)被執(zhí)行,而且這些程序在執(zhí)行的時(shí)候會(huì)擁有和源文件中呼叫到include()語(yǔ)句的位置相同的變量范圍。你可以導(dǎo)入同一個(gè)服務(wù)器中的靜態(tài)頁(yè)面。
3. include_once()的作用和include()是幾乎相同的
的差別在于include_once()會(huì)先檢查要導(dǎo)入的檔案是不是已經(jīng)在該程序中的其它地方被導(dǎo)入過(guò)了,如果有的話就不會(huì)再次重復(fù)導(dǎo)入(這項(xiàng)功能有時(shí)候是很重要的,比方說(shuō)要導(dǎo)入的里面宣告了一些你自行定義好的函數(shù),那么如果在同一個(gè)程序重復(fù)導(dǎo)入這個(gè)文件,在第二次導(dǎo)入的時(shí)候便會(huì)發(fā)生錯(cuò)誤訊息,因?yàn)镻HP不允許相同名稱(chēng)的函數(shù)被重復(fù)宣告第二次)。
4. require()會(huì)將目標(biāo)文件的內(nèi)容讀入,并且把自己本身代換成這些讀入的內(nèi)容 在處理失敗時(shí)require() 則導(dǎo)致一個(gè)致命錯(cuò)。
這個(gè)讀入并且代換的動(dòng)作是在PHP引擎編譯你的程序代碼的時(shí)候發(fā)生的,而不是發(fā)生在PHP引擎開(kāi)始執(zhí)行編譯好的程序代碼的時(shí)候(PHP 3.0引擎的工作方式是編譯一行執(zhí)行一行,但是到了PHP 4.0以后就有所改變了,PHP 4.0是先把整個(gè)程序代碼全部編譯完成后,再將這些編譯好的程序代碼一次執(zhí)行完畢,在編譯的過(guò)程中不會(huì)執(zhí)行任何程序代碼)。require()通常來(lái)導(dǎo)入靜態(tài)的內(nèi)容,而include()則適合用導(dǎo)入動(dòng)態(tài)的程序代碼。
5. 如同include_once(),require_once()會(huì)先檢查目標(biāo)文件的內(nèi)容是不是在之前就已經(jīng)導(dǎo)入過(guò)了,如果是的話,便不會(huì)再次重復(fù)導(dǎo)入同樣的內(nèi)容。
6. require是無(wú)條件包含也就是如果一個(gè)流程里加入require,無(wú)論條件成立與否都會(huì)先執(zhí)行require。
7. require通常放在PHP程序的最前面,PHP程序在執(zhí)行前,就會(huì)先讀入require所指定引入的文件,使它變成PHP程序網(wǎng)頁(yè)的一部份。常用的函數(shù),亦可以這個(gè)方法將它引入網(wǎng)頁(yè)中。
8. include一般是放在流程控制的處理部分中PHP程序網(wǎng)頁(yè)在讀到include的文件時(shí),才將它讀進(jìn)來(lái)。這種方式可以把程序執(zhí)行時(shí)的流程簡(jiǎn)單化。
看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。