PHP強(qiáng)化之21 - include與require

一院究、簡介

include和require都是引入指定的文件康愤。_once表示只引入一次半开,即之前已經(jīng)引入過的不再引入鉴未。

引用原理:

被包含文件先按參數(shù)給出的路徑尋找枢冤,如果沒有給出目錄(只有文件名)時(shí)則按照 include_path 指定的目錄尋找。如果在 include_path 下沒找到該文件則 include 最后才在調(diào)用腳本文件所在的目錄和當(dāng)前工作目錄下尋找铜秆。如果最后仍未找到文件則 include 結(jié)構(gòu)會(huì)發(fā)出一條警告淹真;這一點(diǎn)和 require 不同,后者會(huì)發(fā)出一個(gè)致命錯(cuò)誤连茧。

如果定義了路徑——不管是絕對(duì)路徑(在 Windows 下以盤符或者 \ 開頭核蘸,在 Unix/Linux 下以 / 開頭)還是當(dāng)前目錄的相對(duì)路徑(以 . 或者 .. 開頭)——include_path 都會(huì)被完全忽略。例如一個(gè)文件以 ../ 開頭啸驯,則解析器會(huì)在當(dāng)前目錄的父目錄下尋找該文件客扎。

二、區(qū)別

1罚斗、加載失敗的處理方式不同

include在引入不存文件時(shí)產(chǎn)生一個(gè)警告(E_WARNING級(jí)別)且腳本還會(huì)繼續(xù)執(zhí)行徙鱼;require則會(huì)導(dǎo)致一個(gè)致命性錯(cuò)誤(E_COMPILE_ERROR級(jí)別)且腳本停止執(zhí)行。

include 'hello.php';
echo 'world'; // 如果hello.php不存在针姿,echo 'world'這句是可以繼續(xù)執(zhí)行的袱吆。
require 'hello.php';
echo 'world'; //如果hello.php不存在,echo 'hello'這句是不會(huì)執(zhí)行的搓幌,到require時(shí)就停止了杆故。

2、include()是有條件包含函數(shù)溉愁,而 require()則是無條件包含函數(shù)处铛。

if(FALSE){
include 'file.php'; //file.php不會(huì)被引入
}

if(FALSE){
require 'file.php'; //file.php將會(huì)被引入
}

3饲趋、include有返回值,而require沒有

在失敗時(shí) include 返回 FALSE 并且發(fā)出警告撤蟆。成功的包含則返回 1奕塑,除非在包含文件中另外給出了返回值。

4家肯、文件引用方式

include()執(zhí)行時(shí)需要引用的文件每次都要進(jìn)行讀取和評(píng)估龄砰;
require()執(zhí)行時(shí)需要引用的文件只處理一次(實(shí)際上執(zhí)行時(shí)需要引用的文件內(nèi)容替換了require()語句)

require通常放在 PHP 程序的最前面,PHP 程序在執(zhí)行前讨衣,就會(huì)先讀入 require 所指定引入的文件换棚,使它變成 PHP 程序網(wǎng)頁的一部份。常用的函數(shù)反镇,亦可以這個(gè)方法將它引入網(wǎng)頁中固蚤。

include一般是放在流程控制的處理部分中。PHP 程序網(wǎng)頁在讀到 include 的文件時(shí)歹茶,才將它讀進(jìn)來夕玩。這種方式,可以把程序執(zhí)行時(shí)的流程簡單化惊豺。

三燎孟、注意

1、關(guān)于include和require后面是否加括號(hào)的問題

理論上來說:include和require后面加不加括號(hào)對(duì)執(zhí)行結(jié)果沒有區(qū)別尸昧,但是加上括號(hào)效率較低揩页,所以后面能不加括號(hào)就不加括號(hào)。

2彻磁、關(guān)于_once

require(include) / require_once(include_once)唯一的區(qū)別是PHP會(huì)檢查該文件是否已經(jīng)被包含過碍沐,如果是則不會(huì)再次包含。

參考

1衷蜓、require:http://php.net/manual/zh/function.require.php
2累提、include:http://php.net/manual/zh/function.include.php
3、require_once:http://php.net/manual/zh/function.require-once.php
4磁浇、include_once:http://php.net/manual/zh/function.include-once.php

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末斋陪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子置吓,更是在濱河造成了極大的恐慌无虚,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衍锚,死亡現(xiàn)場(chǎng)離奇詭異友题,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)戴质,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門度宦,熙熙樓的掌柜王于貴愁眉苦臉地迎上來踢匣,“玉大人,你說我怎么就攤上這事戈抄±牖#” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵划鸽,是天一觀的道長输莺。 經(jīng)常有香客問我,道長裸诽,這世上最難降的妖魔是什么嫂用? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮丈冬,結(jié)果婚禮上尸折,老公的妹妹穿的比我還像新娘。我一直安慰自己殷蛇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布橄浓。 她就那樣靜靜地躺著粒梦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荸实。 梳的紋絲不亂的頭發(fā)上匀们,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音准给,去河邊找鬼泄朴。 笑死,一個(gè)胖子當(dāng)著我的面吹牛露氮,可吹牛的內(nèi)容都是我干的祖灰。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼畔规,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼局扶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起叁扫,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤三妈,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后莫绣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體畴蒲,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年对室,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了模燥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咖祭。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖涧窒,靈堂內(nèi)的尸體忽然破棺而出心肪,到底是詐尸還是另有隱情,我是刑警寧澤纠吴,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布硬鞍,位于F島的核電站,受9級(jí)特大地震影響戴已,放射性物質(zhì)發(fā)生泄漏固该。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一糖儡、第九天 我趴在偏房一處隱蔽的房頂上張望伐坏。 院中可真熱鬧,春花似錦握联、人聲如沸桦沉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纯露。三九已至,卻和暖如春代芜,著一層夾襖步出監(jiān)牢的瞬間埠褪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來泰國打工挤庇, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留钞速,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓嫡秕,卻偏偏與公主長得像渴语,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子昆咽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容