include() 、require()語句包含并運(yùn)行指定文件。這兩結(jié)構(gòu)在包含文件上完全一樣,唯一的區(qū)別是對(duì)于錯(cuò)誤的處理。require()語句在遇到包含文件不存在,或是出錯(cuò)的時(shí)候,就停止即行,并報(bào)錯(cuò)。include()則繼續(xù)即行。
1.include語句
使用include語句可以告訴PHP提取特定的文件,并載入它的全部?jī)?nèi)容
<?php
inlude "fileinfo.php";
//此處添加其他代碼
?>
2.include_once語句
每次使用include語句時(shí),它都會(huì)重新將請(qǐng)求的文件導(dǎo)入,即使這個(gè)文件已經(jīng)被導(dǎo)入過。例如,假定fileinfo.php文件包含許多函數(shù),我們使用include語句將他導(dǎo)入到現(xiàn)有的文件中,然后我們又導(dǎo)入了一個(gè)包含fileinfo.php的文件,通過嵌套,我們已經(jīng)將fileinfo.php文件導(dǎo)入了兩次,這就會(huì)產(chǎn)生錯(cuò)誤,因?yàn)槲覀冊(cè)噲D多次定義同名的變量或函數(shù)。為了避免這樣的事情發(fā)生,我們使用include_once語句來代替include語句
<?php
include_once "fileinfo.php";
//此處添加其他代碼
?>
此時(shí),如果在相同的文件中遇到另一個(gè)include或include_once語句時(shí),PHP會(huì)檢查它是否已經(jīng)被導(dǎo)入過,如果是,就忽略它。
3.require和require_once語句
使用include和include_once語句的潛在問題是:PHP只會(huì)試圖導(dǎo)入被請(qǐng)求導(dǎo)入的文件,即使該文件沒有被找到,程序依舊會(huì)執(zhí)行。
當(dāng)我們絕對(duì)需要導(dǎo)入一個(gè)文件時(shí),使用require語句,對(duì)于使用require_once語句的原因也是一樣的,在這就不再贅述了。
<?php
require_once "fileinfo.php";
//此處添加其他代碼
?>
總的來說,我們應(yīng)該堅(jiān)持使用require_once語句。