這PHP函數是更好地使用include
,include_once
,require
,require_once
以及是否有任何其他的功能類似於這些功能?
每個功能的優缺點是什麼?
這PHP函數是更好地使用include
,include_once
,require
,require_once
以及是否有任何其他的功能類似於這些功能?
每個功能的優缺點是什麼?
這取決於你需要做什麼。
您是否需要確保它僅包含一次?使用*_once
構造。
如果文件不存在,你想要拋出一個錯誤嗎?使用require*
構造。
請注意,這些是而不是功能,但language constructs。
他們應該只有被用來包括其他PHP文件。要打開任何其他類型的文件,請使用其他內容(例如readfile()
)。
請注意,如果使用類和__autoload()
或spl_autoload_register()
(首選),則不必包括該類,它將被包含在內。
Include包含它在看到該指令時,不管它是否已經包含它。如果您將文檔包含在多個位置,這有時會導致衝突。
Include_once就是這麼做的,它確保它只包含一次文件。
需求就像包含一樣,雖然它也會確定這個條件,如果它找不到所需的文件,它會殺死你的應用程序。
需要一次就像include_once,除了也是ASSERTS這種情況,如果沒有找到該文件,將會終止你的應用。
由於函數名稱所暗示的:
總是使用*需要和require_once; *
塊引用
,因爲它顯示錯誤並停止腳本,那麼你可以找到錯誤
的* _once功能似乎成爲懶惰的程序員或設計不佳的應用程序 – Galen 2011-04-27 02:01:53