2011-05-24 103 views
0

輸出數據的步驟我有一個關於編寫代碼質量普遍問題...與jQuery和PHP

我工作的網站,即從MySQL和PHP輸出的數據,它被稱爲與$.get()/$.ajax()使用jQuery。 ...

現在我的問題是..我輸出的數據例如:一個特定的職位評論數組(從類的評論),這個數組是從PHP返回一個字符串與其HTML操縱(return '<div id="this->$data"> this->$data</div>';)和JQuery操作,我將所有評論添加到列表元素或其他任何內容到特定的html元素。

這樣做有用嗎?或者,最好將數組發送到jQuery,然後使用它的元素並直接在JavaScript/jQuery中創建動態html代碼。在PHP中返回/回顯時,或者在從php接收到核心數據後在jQuery中生成html代碼?

我知道有其他的方法,如XML JSPN,我只是問這裏對高效與生成HTML操縱核心數據(例如:數組或Core JSON數據)

+0

我讀了所有3個答案。而且你們都認爲輸出核心數據並稍後處理它們會更好,所以後面使用它更靈活:)。謝謝大家! ..這是有幫助的 – 2011-05-24 18:58:19

回答

1

讓我闡述AlberVo的回答

在產生數據,如果是打算從其他可能的來源調用的PHP文件,從一個iPhone應用程序說,或命令行應用程序或桌面應用程序,或者即使說2個月後你認爲你的網站的前端將被稱爲基於Flash的話,那麼它更好地保持你的PHP代碼前端不可知論,並且只返回xml/json/yaml。

如果您知道它將保持基於HTML/Javascript的前端和前端加載速度是一個問題,那麼您可以在PHP文件中完成將數據轉換爲HTML的所有努力。我個人認爲,堅持只生成前端agnostic xml/json/yaml。你永遠不知道未來可能帶來的代碼方向。以這種方式構建您的設計可以讓您靈活自如。您的前端和中間層可以鬆散耦合。

一些更多的優勢,這樣的做法(這真的只是從鬆耦合出現)

  1. 工作組織。如果將來還有其他人也在從事這個項目,只要尊重中間件和中間件之間的json/xml/yaml,就可以在其中一個工作。你的工作不會影響對方的。

  2. 測試。使用xml/json/yaml還允許您更簡單地測試您的PHP代碼和前端。你的測試數據只是xml/json/yaml。

+0

非常感謝tzhat wa shelpfull ..所以最好是發送核心數據並稍後操作:) – 2011-05-24 19:03:04

0

我對這個決定的方式是如果我預見將數據用於除特定用途以外的其他用途,則最好返回原始數據,如json或xml。

0

你會想要考慮你的應用程序的哪一部分應該控制你的頁面結構和佈局。您是否希望您的頁面結構由剛返回數據的PHP腳本定義?或者你想在頁面本身中定義頁面結構,並讓PHP腳本根據需要返回數據。

這是MVC(模型 - 視圖 - 控制器)模式解決的問題。如果您遵循MVC模式,您將會將邏輯與演示分開,而不是混合兩者。這可以讓您的應用程序儘可能保持靈活性,並且還可以促進代碼重用。