2008年6月22日

require 和 include 的不同之處

require( )會將目標檔案的內容讀入,並且把自己本身代換成這些讀入的內容。這個讀入與代換的動作發生在 PHP 引擎編譯程式碼的時候,而不是發生在 PHP 引擎開始執行編譯好的程式碼時(PHP 3 引擎的工作方式是編譯一行,執行一行;但是到了 PHP 4 就不太一樣了,PHP 4 先把整個程式碼全部編譯完成後,再將這些編譯好的程式碼一次執行完畢,在編譯的過程中不會執行任何程式碼)。

require( ) 適合用來引入靜態的內容(如版權宣告),而 include( ) 則適合用來引入動態的程式碼(程式內容會依其他程式碼而變動)。