phprequirevs.include

apachecn_飛龍發表於2014-05-09

1. require在程式碼執行前被預處理,被引用的檔案內容會替代掉require語句。
   include在程式碼執行到那一句才被處理,相當於執行流跳到被執行的檔案,執行完再跳回來。

2. require的檔案不存在會報fatalerror,並終止。include的檔案不存在時只會warnning並繼續執行。

3. require的檔案中只能放置:變數初始化,函式的定義以及類和介面的定義,不能放置控制結構尤其是return。include則不做限制。
   所以建議把上述那些定義之類的靜態的東西在文件頭部require,需要執行的程式碼片段在相應的位置include。為了保證定義不重複,可以在被引用的檔案裡用define和defined判斷,可以用require_once。

4. require沒有返回值的功能,上一條也說了被引用的檔案中不能有return。include的檔案中如果return了一個值,那麼include的指令會返回它,沒有則是null。

5. require和include被引用的檔案中都可以訪問之前的全域性域變數。

6. 和jsp比較的話,require相當於<%@ include=”…” %>標籤。include相當於<jsp:include page=”…” />標籤。