網路上很多不同的討論,有關require與include 的差別。我看完之後,自己實作經驗上。我提供一個比較簡易的結論,做個分享。

簡單的說, require 和 include 的差別主要是在於:

require 在找不到檔案時會觸發 Fatal Error 進而使程式執行停止。
include 在找不到檔案時只會觸發 Warning 所以不對程式有任何影響,除非程式有重大錯誤。譬如:重覆載入檔案。

除了這個的差別之外,其他的應該很難去分辨他們的差別。

他們二個也有檢查是否已載入過的進階方法。

require_once (在 require 時檢查是否已 require 過,如果是,就不再載入)
include_once (在 include 時檢查是否已 include 過,如果是,就不再載入)

我常聽別人說 *_once 的都會比較慢,我覺得當我們只引入小部份的檔案時對於效能可能沒有那麼大的衝擊,而也不用再這麼去再意這樣的微小差異。

相對於用這二個函數的差異,還不如去比相對路徑和絕對路徑的效能差異。

arrow
arrow
    全站熱搜

    阿基 發表在 痞客邦 留言(1) 人氣()