2009-07-19 174 views
3

我需要一些關於在PHP類中包含文件的信息。例如。PHP類和包含文件

include Foo2.php; //<--- Is this good?  
class Foo { 
     function doFoo(){ 
     include("Foo2.php"); //<--- or is this better? 
     //do something with vars from Foo2 
     } 
} 

我想知道什麼差異旁邊的範圍和是否有任何其他方式,包括在一個類另一個PHP文件。

在此先感謝您的回覆。

回答

4

包括在全球範圍內。它具有很強的可讀性和可維護性。

+0

雖然這是真的,但如果我在全局範圍內包含許多文件可能無法使用它不是效率低下嗎? 我想這些是微效率,並不重要? – Mozez 2009-07-19 14:57:43

+0

使用字節碼緩存,例如:APC,Zend Optimizer,這不會成爲問題。 – erenon 2009-07-19 15:07:59

+1

這是我找到的折衷方案:包含在頂部 - 易於查找,並且更容易在重構過程中輕鬆找到錯誤(因爲您不必執行不同的代碼路徑以確保包含某些內容)或包含在函數內(或即使在「如果」的情況下),然後你只需要包含該文件,如果你需要的話 - 而且你已經將本地化(內聚)的東西放在一起。 – grantwparks 2009-07-19 18:58:13

0

您只能將PHP文件包含在類的功能中,或者完全在類之外,因此您有兩種辦法。

不同之處在於,只有在您調用該函數時纔會包含該函數內部的函數。

我發現裏面的函數更好,因爲那樣它就不會被自動包含,並且只有當您需要該類中的函數時才能包含它,如果您處理該函數可能會非常有用很多文件。