php require和include差異

require 的用法如 require("MyRequireFile.php"); 。這個函數一般放在 PHP 程序的最前面。PHP 程序在運行前,就會先讀入 require 所指定引入的文件,使它變成 PHP 程序網頁的一部份。php

常常使用的函數,亦可以這種方法將它引入網頁中。函數

include 用法如 include("MyIncludeFile.php"); 。這個函數一般是放在流程控制的處理部分中。post

PHP 程序網頁在讀到 include 的文件時,纔將它讀進來。ui

這樣的方式。可以把程序運行時的流程簡單化。

他們兩個的用途是全然同樣的,不必定非得哪一個放在最前面哪一個放在中間。他們最根本的差異在於錯誤處理的方式不同。 

require一個文件存在錯誤的話,那麼程序就會中斷運行了,並顯示致命錯誤 
include一個文件存在錯誤的話,那麼程序不會中端。而是繼續運行,並顯示一個警告錯誤。spa

 

下面爲補充:

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

2. include()包含並運行指定文件 在處理失敗時include() 產生一個警告,被導入的程序代碼都會被運行,而且這些程序在運行的時候會擁有和源文件裏呼叫到include()語句的位置一樣的變量範圍。你可以導入同一個server中的靜態頁面。 

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()會先檢查目標文件的內容是否是在以前就已經導入過了,假設是的話,便不會再次反覆導入相同的內容。code

 

5. require是無條件包括也就是假設一個流程裏增長require,無論條件成立與否都會先運行require。 

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

8. include一般是放在流程控制的處理部分中PHP程序網頁在讀到include的文件時。纔將它讀進來。server

這樣的方式可以把程序運行時的流程簡單化。 編譯

相關文章
相關標籤/搜索