2011-05-29 56 views
1

我正在創建一個需要很多AJAX功能的網站。目前,我正在創建多個PHP文件,每個文件都包含每個AJAX「函數」的處理過程。我剛剛意識到另一種方法是創建一個所有AJAX調用都會請求的uber-PHP文件,並傳遞特定的「cmd」參數,指定要執行服務器端的功能。 這兩種方法都有優勢嗎?通常如何做?最好有一個超級PHP的AJAX文件或每個功能的文件?

+0

這取決於php文件將做多少工作,單獨的文件將幫助你更好地組織你的代碼 – Ibu 2011-05-29 20:17:47

+0

和任何性能明智的影響? – rewolf 2011-05-29 20:20:00

+0

性能方面的差異可以忽略不計。然而,我確實喜歡模塊化方法,仍然有一個可以調用別人的單一入口文件,更容易堅持DRY。 – Wrikken 2011-05-29 20:27:50

回答

2

大型AJAX處理程序/調度程序腳本有一些整合機會。您可以在中心位置探測HTTP_X_REQUESTED_WITH。如果您需要對某些功能進行適當授權,請針對所有請求進行操作。

顯然你也可以統一輸出格式/處理。您不需要複製標題響應,而只需編寫一次。

但是不要打擾評估這種或那種方法背後的性能理論。除非你需要一個非常簡單的回調函數(例如字典檢查),它可以從一個單獨的腳本中受益,用一個大的ajax腳本處理它。中央腳本通常會提供安全和維護優勢。

+0

太棒了。非常感謝您的建議。 – rewolf 2011-05-29 20:27:38

1

我在開發和測試時使用一個怪物文件 - 然後將它拆分成更小的塊進行部署。
當然,如果服務器爲了達到給定任務實際需要的20個進程而有1200行處理,性能會受到影響。

從單獨的文件中導入大量不必要的「工具」也是如此。

做到每戶任務一次,部署
之前 - 而不是每天10.000.000倍 - 這只是常識

它有助於讓「標誌」在你的源代碼,以使腳本分開,並預先包括工具/桌子自動..
- 一些聰明的驢叫它不必要(和危險!)優化 - 他們只是懶惰:)

1

我個人做了一些。

我有一個主腳本,其中包含基於哪個腳本需要單獨腳本的require_once();。 (使用switch和「類型」get/post變量)。

這樣我就可以在中心位置處理某些事情,比如標題處理。

而且我也可以輕鬆分離腳本,而無需每次都讀取2k行文件。

相關問題