2009-07-17 72 views
3

我正在創建一個PHP網站。它使用多個PHP類,它們目前都在一個PHP包含中。正在使用多個PHP包含一個壞主意?

不過,我使用Aptana IDE,並且該文件已開始崩潰後(這是大約400線)。所以我想知道是否會有單獨包含所有文件的負面影響。

電流:

主要文件:

include("includes.php"); 

includes.php:

contains php classes 

建議:

mainfile:主文件:

include("includes.php"); 

includes.php:

include("class1.php"); 
include("class2.php") 

回答

6

多個PHP包括的罰款和400線不應該是一個大問題。在我甚至認爲我的代碼是問題之前,我會擔心Aptana IDE。

分手代碼爲多個PHP模塊可幫助您採取更面向對象的方法,並簡化您的代碼庫。我推薦它。

+0

是的,我意識到它是Aptana的故障,它的崩潰,我只是想知道是否會有任何負面將我的代碼分成多個文件。它似乎更好。謝謝。 – 2009-07-17 17:27:28

3

由於400行文件導致IDE崩潰?我會找到一個新的IDE。

然而,最好是單獨的類成單獨的文件。也許不是每個文件只有一個類,而只是在同一個文件中緊密相關的類。

0

個人而言,我喜歡單獨包含文件。如果包括每個頁面上的每個類,它只是通過處理大量的代碼,可能甚至不是網頁上的從磁盤讀取文件相關的開銷一起使用會增加解析開銷等

0

它在負它需要更多的磁盤I/O。但是,在生產階段,無論如何您都應該使用操作碼緩存,這會消除很多負面影響。

從積極的一面,你會取得更好的代碼結構,其中每個類屬於一個單獨的文件。這使得測試更容易,並且還允許您按需自動加載課程,從而只讀取必要的文件。

0

我想你一般包括應該只去一個「等級」深刻的,除非你有一個很好的理由,否則。會發生什麼是你最終會追逐一些問題,並通過包含文件進行大肆追逐,甚至可能最終會使用諸如「include_once」或「require_once」之類的東西,這幾乎肯定是代碼味道。

+0

以及使用兩個級別的好處是,我可以添加一個類到我的所有頁面,而無需全部更改。首先,哪一點當然是包含的要點。當然,我可以把所有的課程放在一個文件中,但這是原始問題的重點。 – 2009-07-17 17:59:26

+0

include_once()有什麼問題? 在我看來,一個班級應該確保它包括所有依賴的班級。在這種情況下,您需要include_once()以防止包含多個相同的類。 – ctford 2009-09-21 21:15:19

2

只有兩個文件,成本不會太高;對於數百個文件,可能會多一點......但是,另一個需要考慮的問題是「如何確定進入哪個文件?「

對尼斯的答案是‘每個文件一類’;而且,對於那些‘每functionnal項目’一個目錄

你可能要考慮使用操作碼緩存,如果你可以在安裝擴展您的服務器;例如,我幾乎總是使用APC工作(見PHP manual),這是安裝非常容易,併爲演出真的很好(也可以由2分,有時一個服務器^^的CPU負載)

剛作爲旁註:如果Aptana無法處理400行文件,則應該考慮使用另一個IDE ^^ (如果您擁有2 GB的RAM,Eclipse PDT並不糟糕 - ec基於脂肪的,像Aptana,所以不應該太「新」)

0

多包含是很好的組織你的代碼的最佳方式,我推薦它,以及在某些情況下,(如我的)只有首先包括執行我不知道爲什麼我堅持它

相關問題