php 中include()與require()的區別

怪我咯
發布: 2023-03-12 20:22:01
原創
1066 人瀏覽過

引用檔案的方法有兩種:require 和 include。兩種方式提供不同的使用彈性。

require 的使用方法如 <span style="font-family:NSimsun">require("MyRequireFile.php");</span> 。這個函數通常放在 PHP 程式的最前面,PHP 程式在執行前,就會先讀入 require 所指定引入的文件,使它變成 PHP 程式網頁的一部分。常用的函數,亦可以這個方法將它引入網頁中。

include 使用方法如 <span style="font-family:NSimsun">include("MyIncludeFile.php");</span> 。這個函數一般是放在流程控制的處理部分。 PHP 程式網頁在讀到 include 的檔案時,才將它讀進來。這種方式,可以把程式執行時的流程簡單化。

他們兩個的用途是完全一樣的,不一定要哪一個放在最前面哪一個放在中間。他們最根本的差別在於錯誤處理的方式不一樣。

require一個檔案存在錯誤的話,那麼程式就會中斷執行了,並顯示致命錯誤
include一個檔案存在錯誤的話,那麼程式不會中端,而是繼續執行,並顯示一個警告錯誤。

以下為補充:

1. include有回傳值,而require沒有。

2. include()包括並運行指定檔案在處理失敗時include() 產生警告,被導入的程式碼都會被執行,而且這些程式在執行的時候會擁有和原始檔中呼叫到include()語句的位置相同的變數範圍。你可以匯入同一個伺服器中的靜態頁面。

3. include_once()的作用和include()是幾乎相同的
唯一的差別在於include_once()會先檢查要導入的檔案是否已經在該程序中的其它地方被導入過了,如果有的話就不會再次重複導入(這項功能有時候是很重要的,比方說要導入的里面宣告了一些你自行定義好的函數,那麼如果在同一個程式重複導入這個文件,在第二次導入的時候便會發生錯誤訊息,因為PHP不允許相同名稱的函數被重複宣告第二次)。

4. require()會將目標檔案的內容讀入,並且把自己本身代換成這些讀入的內容 在處理失敗時require() 則導致一個致命錯誤。
這個讀入並且代換的動作是在PHP引擎編譯你的程式碼的時候發生的,而不是發生在PHP引擎開始執行編譯好的程式碼的時候(PHP 3.0引擎的工作方式是編譯一行執行一行,但是到了PHP 4.0以後就有所改變了,PHP 4.0是先把整個程式碼全部編譯完成後,再將這些編譯好的程式碼一次執行完畢,在編譯的過程中不會執行任何程式碼)。 require()通常會來導入靜態的內容,而include()則適合使用導入動態的程式碼。

5. 如同include_once(),require_once()會先檢查目標檔案的內容是不是在之前就已經導入過了,如果是的話,便不會再重複導入同樣的內容。

5. require是無條件包含也就是如果一個流程裡加入require,無論條件成立與否都會先執行require。

7. require通常放在PHP程式的最前面,PHP程式在執行前,就會先讀入require所指定引入的文件,使它變成PHP程式網頁的一部分。常用的函數,亦可以這個方法將它引入網頁中。

8. include一般是放在流程控制的處理部分中PHP程序網頁在讀到include的文件時,才將它讀進來。這種方式可以把程式執行時的流程簡單化。

require(),include(),require_once()和include_once()區別

以上是php 中include()與require()的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!