PHP中include()與require()的區(qū)別說明
require 的使用方法如 require("MyRequireFile.php"); 。這個函數(shù)通常放在 PHP 程序的最前面,PHP 程序在執(zhí)行前,就會先讀入 require 所指定引入的文件,使它變成 PHP 程序網(wǎng)頁的一部份。常用的函數(shù),亦可以這個方法將它引入網(wǎng)頁中。
include 使用方法如 include("MyIncludeFile.php"); 。這個函數(shù)一般是放在流程控制的處理部分中。PHP 程序網(wǎng)頁在讀到 include 的文件時,才將它讀進(jìn)來。這種方式,可以把程序執(zhí)行時的流程簡單化。
他們兩個的用途是完全一樣的,不一定非得哪個放在最前面哪個放在中間。他們最根本的區(qū)別在于錯誤處理的方式不一樣。
require一個文件存在錯誤的話,那么程序就會中斷執(zhí)行了,并顯示致命錯誤
include一個文件存在錯誤的話,那么程序不會中端,而是繼續(xù)執(zhí)行,并顯示一個警告錯誤。
其他用戶的補充
在 PHP 中,您可以在服務(wù)器執(zhí)行 PHP 文件之前在該文件中插入一個文件的內(nèi)容。
include 和 require 語句用于在執(zhí)行流中插入寫在其他文件中的有用的代碼。
include 和 require 除了處理錯誤的方式不同之外,在其他方面都是相同的:
require 生成一個致命錯誤(E_COMPILE_ERROR),在錯誤發(fā)生后腳本會停止執(zhí)行。
include 生成一個警告(E_WARNING),在錯誤發(fā)生后腳本會繼續(xù)執(zhí)行。
因此,如果您希望繼續(xù)執(zhí)行,并向用戶輸出結(jié)果,即使包含文件已丟失,那么請使用 include。否則,在框架、CMS 或者復(fù)雜的 PHP 應(yīng)用程序編程中,請始終使用 require 向執(zhí)行流引用關(guān)鍵文件。這有助于提高應(yīng)用程序的安全性和完整性,在某個關(guān)鍵文件意外丟失的情況下。
包含文件省去了大量的工作。這意味著您可以為所有網(wǎng)頁創(chuàng)建標(biāo)準(zhǔn)頁頭、頁腳或者菜單文件。然后,在頁頭需要更新時,您只需更新這個頁頭包含文件即可。
補充2
1. include有返回值,而require沒有。
2. include()包括并運行指定文件 在處理失敗時include() 產(chǎn)生一個警告,被導(dǎo)入的程序代碼都會被執(zhí)行,而且這些程序在執(zhí)行的時候會擁有和源文件中呼叫到include()語句的位置相同的變量范圍。你可以導(dǎo)入同一個服務(wù)器中的靜態(tài)頁面。
3. include_once()的作用和include()是幾乎相同的
唯一的差別在于include_once()會先檢查要導(dǎo)入的檔案是不是已經(jīng)在該程序中的其它地方被導(dǎo)入過了,如果有的話就不會再次重復(fù)導(dǎo)入(這項功能有時候是很重要的,比方說要導(dǎo)入的里面宣告了一些你自行定義好的函數(shù),那么如果在同一個程序重復(fù)導(dǎo)入這個文件,在第二次導(dǎo)入的時候便會發(fā)生錯誤訊息,因為PHP不允許相同名稱的函數(shù)被重復(fù)宣告第二次)。
4. require()會將目標(biāo)文件的內(nèi)容讀入,并且把自己本身代換成這些讀入的內(nèi)容 在處理失敗時require() 則導(dǎo)致一個致命錯。
這個讀入并且代換的動作是在PHP引擎編譯你的程序代碼的時候發(fā)生的,而不是發(fā)生在PHP引擎開始執(zhí)行編譯好的程序代碼的時候(PHP 3.0引擎的工作方式是編譯一行執(zhí)行一行,但是到了PHP 4.0以后就有所改變了,PHP 4.0是先把整個程序代碼全部編譯完成后,再將這些編譯好的程序代碼一次執(zhí)行完畢,在編譯的過程中不會執(zhí)行任何程序代碼)。require()通常來導(dǎo)入靜態(tài)的內(nèi)容,而include()則適合用導(dǎo)入動態(tài)的程序代碼。
5. 如同include_once(),require_once()會先檢查目標(biāo)文件的內(nèi)容是不是在之前就已經(jīng)導(dǎo)入過了,如果是的話,便不會再次重復(fù)導(dǎo)入同樣的內(nèi)容。
5. require是無條件包含也就是如果一個流程里加入require,無論條件成立與否都會先執(zhí)行require。
7. require通常放在PHP程序的最前面,PHP程序在執(zhí)行前,就會先讀入require所指定引入的文件,使它變成PHP程序網(wǎng)頁的一部份。常用的函數(shù),亦可以這個方法將它引入網(wǎng)頁中。
8. include一般是放在流程控制的處理部分中PHP程序網(wǎng)頁在讀到include的文件時,才將它讀進(jìn)來。這種方式可以把程序執(zhí)行時的流程簡單化。
require(),include(),require_once()和include_once()區(qū)別
- PHP中include和require的區(qū)別實例分析
- php使用include 和require引入文件的區(qū)別
- PHP中include()與require()的區(qū)別說明
- PHP中include/require/include_once/require_once使用心得
- 簡單談?wù)凱HP中的include、include_once、require以及require_once語句
- PHP中require和include路徑問題詳解
- PHP包含文件函數(shù)include、include_once、require、require_once區(qū)別總結(jié)
- PHP中include與require使用方法區(qū)別詳解
- php include和require的區(qū)別深入解析
- PHP中include和require的使用詳解
相關(guān)文章
PHP判斷文件是否被引入的方法get_included_files用法示例
這篇文章主要介紹了PHP判斷文件是否被引入的方法get_included_files用法,結(jié)合實例形式分析了get_included_files函數(shù)獲取引入文件及遍歷輸出的操作技巧,需要的朋友可以參考下2016-11-11
ThinkPHP like模糊查詢,like多匹配查詢,between查詢,in查詢,一般查詢書寫方法
ThinkPHP的數(shù)據(jù)庫條件查詢語句有字符串式,數(shù)組式書寫方法,字符串式即是原生式而數(shù)組式的查詢語句因書寫方式與特定字符的原因比較復(fù)雜,今天為大家講解一下ThinkPHP數(shù)組式查詢語句的書寫方法2018-09-09
用PHP寫的基于Memcache的Queue實現(xiàn)代碼
用PHP寫的基于Memcache的Queue實現(xiàn)代碼,需要的朋友可以參考下。2011-11-11
php計數(shù)排序算法的實現(xiàn)代碼(附四個實例代碼)
計數(shù)排序(Counting sort)是一種根據(jù)小整數(shù)鍵對一組對象排序的算法;也就是說,它是一個整數(shù)排序算法。它通過計算具有不同鍵值的對象的數(shù)量,并對這些數(shù)量使用算術(shù)來確定輸出序列中每個鍵值的位置2020-03-03

