2012-02-05 49 views
4

將文件包含在PHP類文件中最明智的地方在哪裏?例如,如果其中一個方法需要外部類,我應該將該文件包含在該方法中使用的位置,還是應該在該類之前完成?或者在構造函數中?要麼?你有什麼建議?優點?缺點?或者這只是一個真正的品味問題?將包含語句放在PHP類文件中的位置

include_once 'bar.class.php'; 
class Foo 
{ 
    public static function DoIt() 
    { 
     new Bar(); 
    } 
} 

VS

class Foo 
{ 
    public static function DoIt() 
    { 
     include_once 'bar.class.php'; 
     new Bar(); 
    } 
} 

回答

4

我更喜歡在上面,如在和C/Java/C##import/import/using相同的約定,因爲它立刻讓你知道什麼其他類類取決於上。

您可能還想查看require_once()而不是include_once(),因爲它將在發生錯誤時暫停而不是發出警告,而不是在包含的文件包含錯誤時發出警告。但是,這當然取決於你所包含的文件類型以及你認爲它的重要程度。

+0

喜歡與其他語言的比較。想想我也會堅持這一點。可能轉由包括要求一些地方爲好,因爲它確實是比較正確的,當事情其實是至關重要的。 – Svish 2012-02-05 16:17:39

0

如果您確定需要包含該文件,請在頂部執行此操作。如果您需要按需提供文件,您可能需要查看spl_autoload_register()以減輕痛苦。

+0

確實。自動加載已經完成了我的主要類,這是更多的第三方庫等。 – Svish 2012-02-05 16:15:25

1

我會說這取決於。因此,如果有一個相當大的代碼庫,並且您希望每次頁面請求降到最低時都將代碼加載到內存中,那麼我會建議在需要時只包含其他php文件。

但是,如果該腳本始終需要,請將其包含在腳本的頂部。

這真的歸結爲情況和要求。

希望有所幫助。

0

將外部文件包含在頁面頂部總是好的。稍後定位會很容易。如果包含的文件非常大,則將其包含在需要的地方。另請參閱require_onceinclude_once的文檔。

還有簡單的requireinclude。知道它們之間的區別以及使用何時的區別。

1

這取決於您使用的架構。包括一開始的文件是整齊的,但如果該文件打印的文本,那麼你將無法操縱頭等等

當您使用MVC模式的控制器應包括的類文件。