深入掌握include_once與require_once的區(qū)別
更新時間:2013年06月17日 10:26:02 作者:
要深入掌握include(_once)與require(_once),需要掌握以下幾點(diǎn)內(nèi)容,不過有人建議不建議使用
①作用及用法
可以減少代碼的重復(fù)
include(_once)("文件的路徑")與require(_once)("文件的路徑")
②理解
說白了,就是用包含進(jìn)來的文件中的內(nèi)容 代替 include(_once),require(_once)那一行
③注意
include/require 包含進(jìn)來的文件必須要加<?php ?>因?yàn)樵诎瑫r,首先理解文件內(nèi)容是普通字符串,碰到<?php ?> 標(biāo)簽時,才去解釋
④路徑
可以用絕對路徑,也可以用相對路徑;windows下正反斜線都可以,linux下只認(rèn)正斜線,所以最好用正斜線
⑤區(qū)別
include是包含的意思,找不到文件時,會報warning的錯誤,然后程序繼續(xù)往下執(zhí)行
require是必須的意思,找不到文件時,會報fatal error (致命錯誤),程序停止往下執(zhí)行
加once后,系統(tǒng)會進(jìn)行判斷,如果已經(jīng)包含,則不會再包含第二次
eg:有一個a.php文件 內(nèi)容是<?php $a++ ;?>
在b.php文件中的內(nèi)容是 $a=5; require_once("a.php"); echo $a; require_once("a.php"); echo $a;
結(jié)果第一處輸出的是6, 第二處輸出的還是6,說明。。_once只包含一次 ,如果不加once,則第二處輸出的會是7
⑥取舍
比如是系統(tǒng)配置,缺少了,網(wǎng)站不讓運(yùn)行,自然用require,如果是某一段統(tǒng)計(jì)程序,少了,對網(wǎng)站只是少統(tǒng)計(jì)人數(shù)罷了,不是必須要的,可以用include
而加不加once是效率上的區(qū)別,加上once,雖然系統(tǒng)幫你考慮了只加載一次,但系統(tǒng)的判斷會是效率降低,因此,更應(yīng)該在開發(fā)之初,就把目錄結(jié)構(gòu)調(diào)整好,盡量不要用_once的情況。
⑦特殊用法
利用include/require返回被包含頁面的返回值
a.php頁面中: ..... return $value; b.php頁面中:$v = include("a.php");
<!--[endif]-->
這個用法在做網(wǎng)站配置的時候會偶爾碰到!
可以減少代碼的重復(fù)
include(_once)("文件的路徑")與require(_once)("文件的路徑")
②理解
說白了,就是用包含進(jìn)來的文件中的內(nèi)容 代替 include(_once),require(_once)那一行
③注意
include/require 包含進(jìn)來的文件必須要加<?php ?>因?yàn)樵诎瑫r,首先理解文件內(nèi)容是普通字符串,碰到<?php ?> 標(biāo)簽時,才去解釋
④路徑
可以用絕對路徑,也可以用相對路徑;windows下正反斜線都可以,linux下只認(rèn)正斜線,所以最好用正斜線
⑤區(qū)別
include是包含的意思,找不到文件時,會報warning的錯誤,然后程序繼續(xù)往下執(zhí)行
require是必須的意思,找不到文件時,會報fatal error (致命錯誤),程序停止往下執(zhí)行
加once后,系統(tǒng)會進(jìn)行判斷,如果已經(jīng)包含,則不會再包含第二次
eg:有一個a.php文件 內(nèi)容是<?php $a++ ;?>
在b.php文件中的內(nèi)容是 $a=5; require_once("a.php"); echo $a; require_once("a.php"); echo $a;
結(jié)果第一處輸出的是6, 第二處輸出的還是6,說明。。_once只包含一次 ,如果不加once,則第二處輸出的會是7
⑥取舍
比如是系統(tǒng)配置,缺少了,網(wǎng)站不讓運(yùn)行,自然用require,如果是某一段統(tǒng)計(jì)程序,少了,對網(wǎng)站只是少統(tǒng)計(jì)人數(shù)罷了,不是必須要的,可以用include
而加不加once是效率上的區(qū)別,加上once,雖然系統(tǒng)幫你考慮了只加載一次,但系統(tǒng)的判斷會是效率降低,因此,更應(yīng)該在開發(fā)之初,就把目錄結(jié)構(gòu)調(diào)整好,盡量不要用_once的情況。
⑦特殊用法
利用include/require返回被包含頁面的返回值
a.php頁面中: ..... return $value; b.php頁面中:$v = include("a.php");
<!--[endif]-->
這個用法在做網(wǎng)站配置的時候會偶爾碰到!
您可能感興趣的文章:
- node.js使用require()函數(shù)加載模塊
- 探索angularjs+requirejs全面實(shí)現(xiàn)按需加載的套路
- 在JavaScript應(yīng)用中使用RequireJS來實(shí)現(xiàn)延遲加載
- php命令行(cli)模式下報require 加載路徑錯誤的解決方法
- 使用RequireJS庫加載JavaScript模塊的實(shí)例教程
- 簡單模擬node.js中require的加載機(jī)制
- require.js 加載 vue組件 r.js 合并壓縮的實(shí)例
- require(),include(),require_once()和include_once()區(qū)別
- nodejs的require模塊(文件模塊/核心模塊)及路徑介紹
- 自定義require函數(shù)讓瀏覽器按需加載Js文件
相關(guān)文章
php實(shí)現(xiàn)獲取文章內(nèi)容第一張圖片的方法
這篇文章主要介紹了php實(shí)現(xiàn)獲取文章內(nèi)容第一張圖片的方法,涉及對正則表達(dá)式的操作,非常具有實(shí)用價值,需要的朋友可以參考下2014-11-11
php設(shè)計(jì)模式 Composite (組合模式)
將對象組合成樹形結(jié)構(gòu)以表示"部分-整體"的層次結(jié)構(gòu),使得客戶對單個對象和復(fù)合對象的使用具有一致性2011-06-06
windows下zendframework項(xiàng)目環(huán)境搭建(通過命令行配置)
本文將詳細(xì)介紹windows下通過命令行配置zendframework項(xiàng)目環(huán)境,需要了解的朋友可以參考下2012-12-12
詳解WordPress中簡碼格式標(biāo)簽編寫的基本方法
這篇文章主要介紹了詳解WordPress中簡碼格式標(biāo)簽編寫的基本方法,文中講到了添加和移除簡碼等的一些PHP函數(shù)的用法,需要的朋友可以參考下2015-12-12

