2012-08-12 29 views
1

我正在開發一個web應用程序,我正在使用一個名爲functions.php的文件,其中存儲了與我的應用程序相關的所有功能,目前該文件包含大約1500行代碼以及超過30個函數。是一個大功能的php文件嗎?

我想知道這是否是一個問題,它可以減慢調用函數時的過程嗎?我應該讓其他文件移動一些功能嗎?

+0

你可以讓它成爲一個類,這可能會讓它運行得更順暢。 – 2012-08-12 05:06:34

+2

@Rune雖然我是面向對象的支持者,但是您能否添加一個關於爲什麼/如何使用1500+行和30+個函數的類會比使用它們的簡單文件更平滑的解釋,因爲我沒有真正看到它。 – newfurniturey 2012-08-12 05:08:57

+0

@newfurniturey好吧,也許不是很順利,但它可以更方便,代碼也應該更好的可讀性。這主要是你猜我喜歡的。 – 2012-08-12 05:11:08

回答

4

在大多數情況下,.php腳本中的行數不會像代碼本身一樣影響程序的速度。如果執行時間是您最關心的問題,那麼優化您的代碼應該是您的首要任務。從被稱爲最多的功能開始,並確保代碼儘可能緊湊。

將函數分割成不同的文件會在技術上使腳本較慢,因爲解釋器必須執行磁盤I/O來解析文件。但是,速度命中將是無限小的,所以我認爲將它們分開可能會節省時間,因爲如果你不總是用30個函數來觀看一個巨大的文件,它將更容易調試和優化在裏面。

最後,如果你必須使用一堆巨大的.php文件在您的應用程序,你可能要考慮使用類似Zend,將編譯服務器上的腳本。

+0

謝謝,我想這是最完整的答案! – 2012-08-12 05:36:50

+0

@Scott,「技術上」和「無限小」不是正確的形容詞。是的,在專用LAMP + APC/Xcache虛擬機或系統中,腳本將被緩存爲ACP(或VFAT),但在共享主機環境中,每個額外的腳本文件可能會生成平均10 + mS的關閉服務器I/O。這些可以加起來。 – TerryE 2012-08-12 12:33:46

2

如果每頁僅使用一個或兩個函數,將它們拆分爲單獨的文件並僅包含您需要的文件會更快嗎?是的,因爲PHP需要讀取整個文件以包含它。它會產生足夠明顯的差異,它值得分割文件?在大多數情況下,答案可能不是。

+0

那麼你建議我只保留我的文件? – 2012-08-12 05:15:49

+0

您必須根據您的網站以及您認爲會影響效果的程度來決定。對於1500行文件,將它保存爲一個文件可能很好。如果該文件是15000行,它可能是一個不同的故事。 – 2012-08-12 05:17:23

+0

謝謝,這是幫助:) – 2012-08-12 05:36:24

相關問題