2009-02-20 80 views
4

我有主要的類與主要的PHP文件。 同樣在這個課程中,我做了 require_once(「func.php」); 它對我的網站有許多有用的功能。分拆包含函數是否可以提高PHP性能?

func.php的大小非常大,因爲在不同的頁面上有很多不同的操作。但是我將它包含在每個頁面上,因爲包括被主類調用。 我需要做什麼來優化它?

重寫func.php到OOP並在主類中使用類似「$ funcs-> my_func()」?我會贏得一些表演嗎?沒有調用的函數不會佔用內存和CPU時間?

或者我必須重寫func.php到許多文件並在指定的頁面上調用每個文件? 例如:對於「about.php」,我將包含「about_func.php」和所需的功能。但它不是舒服,我認爲......

請幫我:) 很遺憾我的工程:)

+0

func.php有多大?行數將是很好的近似值。 – empi 2009-02-20 10:12:12

+0

沒什麼可抱歉的。它完全可以理解。 – 2009-02-20 10:12:20

回答

4
  1. 多大func.php?你確定這個尺寸是一個問題嗎?
  2. 這似乎是一個性能/優化問題的核心。你確定優化是有保證的嗎?你有沒有衡量你的頁面的性能,並證明包含這個大功能文件的責任是它的緩慢?

我建議你在繼續之前回答1 & 2。如果你的問題的動機是更清潔的設計和模塊化,那麼是的,我同意將一個錯誤「utils」文件分成更小的文件,共享責任或一般相關領域是一個好主意。另一方面,如果這是一個過早優化的情況,那麼你最好離開糟糕的「func.php」(嘿,有時候可以有一個大的通用utils文件,只要它沒有傷害您)。

+0

包含文件的大小是151Kb。 是的,我已經使用了NuSphere Profiler,它說我包含這個文件吃了很多時間:總main.php文件加載的47%。 我覺得這個小操作這個文件包括很大的時間。 – user52005 2009-02-20 20:27:32

4

拆分成OOP類和使用PHP5的__autoload函數:http://www.php.net/manual/en/language.oop5.autoload.php

僅在需要時,這港島線加載類,你不必擔心,包括所有neccessary文件。它不會給你帶來任何性能上的好處,但是爲了一個目的而管理較小文件比擁有多個彼此不依賴的功能的較大文件更容易。

+0

謝謝你的建議。可能是我會做的。 – user52005 2009-02-20 20:28:17

3

您是否啓用PHP加速器?

因爲他們保存在內存中,應加快速度 「編譯」 func.php的版本,沒有任何代碼修改。

雖然我推薦OOP,但這不是因爲性能的原因。

相關問題