我有大約10個使用大約30個函數的動態php頁面。每個功能需要超過1頁,每個頁面需要不同的功能子集。在幾個php頁面之間共享功能的最有效方式
我一直在琢磨這些選項:
1 - 所有的功能在一個單一的文件包括:每個頁面加載不需要的代碼
2 - 在自己的每個功能包括文件:過多的服務器請求時加載每一頁
4時附加的處理 - 一個包括每PHP頁面文件,用的副本:單包括用條件僅需要基於REQUEST_URI聲明函數文件 - 加載每一頁
3該頁面需要的功能:難以維護
人們如何處理這種情況?謝謝!
我有大約10個使用大約30個函數的動態php頁面。每個功能需要超過1頁,每個頁面需要不同的功能子集。在幾個php頁面之間共享功能的最有效方式
我一直在琢磨這些選項:
1 - 所有的功能在一個單一的文件包括:每個頁面加載不需要的代碼
2 - 在自己的每個功能包括文件:過多的服務器請求時加載每一頁
4時附加的處理 - 一個包括每PHP頁面文件,用的副本:單包括用條件僅需要基於REQUEST_URI聲明函數文件 - 加載每一頁
3該頁面需要的功能:難以維護
人們如何處理這種情況?謝謝!
將相關函數扔入庫中包括。根據需要包含庫。
此外,如果你花另外5秒鐘想着這個,那將是你浪費
另外5秒(如果你不明白我在說什麼,擔心包括優化約爲在你應該擔心的事情列表中,第五十億事情,直到最終用戶報告的性能問題和隨後的分析告訴你爲止。)
嗯,沒有。如果這30個函數都是邏輯上相關的,也許。海報不說。但是,如果這些功能在邏輯上不相關,那麼不要將它們束縛到一個班級中。這不是OOP。 – 2010-09-13 20:36:08
@Frank Shearar只是試圖將海報指向正確的方向。他沒有**縫試圖重新使用代碼**和**我從來沒有說**將所有的功能放在一個類中。 *只需將代碼組織到類中並根據需要加載它們。* – Frankie 2010-09-13 20:44:46
我還沒有找到廣泛的組。將現在保持在一起,但一些關於OPP的閱讀可能對以後的工作很有幫助......謝謝 – Deg 2010-09-13 23:00:29
首先將它們放在一個include_once'ed文件中。
如果性能成爲問題,請首先在服務器上安裝PHP加速器(將解析的PHP緩存到操作碼中,以避免不斷重新解析)。
當維護成爲問題時,按功能分解它們。儘管如此,你仍然會得到一個全能的「util.inc」或「misc.inc」文件...
感謝您的幫助 – Deg 2010-09-13 23:03:25
'.inc'文件的問題在於您的代碼可能對其他人可見。要麼告訴你的網絡服務器將帶'.inc'擴展名的文件解釋爲PHP,要麼將你的'.inc'文件放在網絡上不可見的目錄中,或者將你包含的代碼放在'.php'文件中。如果您包含的代碼包含敏感信息(如數據庫密碼),則情況尤其如此。 – TRiG 2010-09-14 09:14:15
...或告訴你的Web服務器永遠不會顯示.inc文件。將包含的代碼放在Web服務器可以訪問的.php文件中是不好的做法,因爲如果它們意外執行,你不會去測試看看會發生什麼,並且如果它們發生了可能會發生壞事。 – gavinandresen 2010-09-14 12:01:27
只是尋找地方來提高頁面加載時間。將按照您的建議從別處開始。謝謝 – Deg 2010-09-13 22:56:04