深入掌握include_once與require_once的區(qū)別
更新時間:2013年06月17日 10:26:02 作者:
要深入掌握include(_once)與require(_once),需要掌握以下幾點內(nèi)容,不過有人建議不建議使用
①作用及用法
可以減少代碼的重復(fù)
include(_once)("文件的路徑")與require(_once)("文件的路徑")
②理解
說白了,就是用包含進來的文件中的內(nèi)容 代替 include(_once),require(_once)那一行
③注意
include/require 包含進來的文件必須要加<?php ?>因為在包含時,首先理解文件內(nèi)容是普通字符串,碰到<?php ?> 標(biāo)簽時,才去解釋
④路徑
可以用絕對路徑,也可以用相對路徑;windows下正反斜線都可以,linux下只認(rèn)正斜線,所以最好用正斜線
⑤區(qū)別
include是包含的意思,找不到文件時,會報warning的錯誤,然后程序繼續(xù)往下執(zhí)行
require是必須的意思,找不到文件時,會報fatal error (致命錯誤),程序停止往下執(zhí)行
加once后,系統(tǒng)會進行判斷,如果已經(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)站不讓運行,自然用require,如果是某一段統(tǒng)計程序,少了,對網(wǎng)站只是少統(tǒng)計人數(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)("文件的路徑")
②理解
說白了,就是用包含進來的文件中的內(nèi)容 代替 include(_once),require(_once)那一行
③注意
include/require 包含進來的文件必須要加<?php ?>因為在包含時,首先理解文件內(nèi)容是普通字符串,碰到<?php ?> 標(biāo)簽時,才去解釋
④路徑
可以用絕對路徑,也可以用相對路徑;windows下正反斜線都可以,linux下只認(rèn)正斜線,所以最好用正斜線
⑤區(qū)別
include是包含的意思,找不到文件時,會報warning的錯誤,然后程序繼續(xù)往下執(zhí)行
require是必須的意思,找不到文件時,會報fatal error (致命錯誤),程序停止往下執(zhí)行
加once后,系統(tǒng)會進行判斷,如果已經(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)站不讓運行,自然用require,如果是某一段統(tǒng)計程序,少了,對網(wǎng)站只是少統(tǒng)計人數(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全面實現(xiàn)按需加載的套路
- 在JavaScript應(yīng)用中使用RequireJS來實現(xiàn)延遲加載
- php命令行(cli)模式下報require 加載路徑錯誤的解決方法
- 使用RequireJS庫加載JavaScript模塊的實例教程
- 簡單模擬node.js中require的加載機制
- require.js 加載 vue組件 r.js 合并壓縮的實例
- require(),include(),require_once()和include_once()區(qū)別
- nodejs的require模塊(文件模塊/核心模塊)及路徑介紹
- 自定義require函數(shù)讓瀏覽器按需加載Js文件
相關(guān)文章
ThinkPHP6使用最新版本Endroid/QrCode生成二維碼的方法實例
這篇文章主要介紹了ThinkPHP6使用最新版本Endroid/QrCode生成二維碼的方法,結(jié)合實例形式詳細分析了ThinkPHP6使用最新版本Endroid/QrCode生成二維碼具體步驟、原理、實現(xiàn)方法與相關(guān)注意事項,需要的朋友可以參考下2023-07-07PHP+AJAX實現(xiàn)無刷新注冊(帶用戶名實時檢測)
PHP+AJAX實現(xiàn)無刷新注冊(帶用戶名實時檢測)...2007-01-01