星期四, 10月 14, 2004

[php] include_once() or require_once() ?

Mon Jul 12 14:12:14 CST 2004 補充 **

* include_once( ) 執行時間的包含

include_once( )在程式執行的期間,將指定的檔案給包含進來,這和 include( )很相似,而它們最大的不同處是,如果從檔案包含進來的程式碼先前已經有包含過的時候,include_once( )就不會再把它包含進來。

如果要在程式的執行期間包含相同的檔案一次以上,而且又要確定檔案有被包含進來時,便可以使用include_once( )。

* require_once( )

require_once( )以指定的檔案來取代它自己本身,這很像是C語言中的#include,而且和 require( )也很相似,最大的不同是require_once( )有個包含鏈(inclusion chain),require_once( )的使用將會保證檔案加入你的程式中只有一次,而且會避開與變數值或函式名稱之間的衝突。


====補充=====
這段是在 builder.com 看到的如下文所示:
The require() function replaces itself with the contents of the given file. This replacement happens when the PHP engine is compiling your code, and not at the time it's executing it, unlike include(), which is evaluated first. The require() function should be used for more static elements, leaving include() for the dynamic elements

指出,require() 應該用在比較static content上,相對的,需要動態執行結果時,使用include()會比較洽當。