Thursday, September 24, 2009

[PHP] 引入檔案的語法介紹 (require跟include的差異)

通常一講到『引入』就會想到使用 require 或 include 這兩個語法,使用方法也很簡單, require "xxx.php" 或 include "xxx.php" 就 OK 了,但是這兩個語法的差別在哪呢?讓這篇仔細跟您介紹:
基本上 require 跟 include 是差不多了, 只是在使用習慣上,兩個函式意義不同。 有一個小差別在於,當引用的檔案不存 在時, require 不會執行後面的程式,  include 會繼續執行(錯誤等級不同)。

1.require

使用 require 引用外部檔案,通常會放在程式 最前面(習慣上放在最前面,不代表它要強制放在最前面),讓 PHP 程式執行前,就先引入 檔案內容,讓它變成網頁的一部份。 一般 require 用在引入靜態內容,例如:自訂 函式、版權宣告...

2.require_once
使用 require_once 引用外部檔案,與使用 require 幾乎相同,唯一的差別在於使用 require_once 會先檢查該程式是否已於其 它地方引入相同檔案,如果有的話,就不會在重複引入。(先前有引入過,則第二次之 後的引入就都會無效。)

3.include
使用 include 引用外部檔案,通常會放在流程 控制的處理區段,當 php 讀到該行程式碼時, 才引入指定檔案。 一般 include 用在引入動態程式碼,例如:if(xxx) include ...。

4.include_once
使用 include_once 引用外部檔案,與使用 include 幾乎相同,唯一的差別在於使用 include_once 會先檢查該程式是否已於其 它地方引入相同檔案,如果有的話,就不會在重複引入。(先前有引入過,則第二次之 後的引入就都會無效;例如在迴圈中使用 include_once 時,只有在第一次迴圈有效, 之後的迴圈就無法在進行引入,而變成空迴圈。)

No comments:

Post a Comment