2011-02-01 65 views
5

我正在開發一個Web應用程序,並使用PHP和Javascript。今天,我開始繪製所有設計類圖,但我不知道如何混合這兩種技術。在我的設計模型中混合使用Javascript和PHP

我認爲,像下面應該是不錯的:

UML example diagram

不過,說真的,我不知道如果鍵入類名的.php擴展名是足夠明確的,或者是我需要將圖分爲兩部分:一部分用於Javascript類,另一部分用於PHP類。

我使用CodeIgniter(MVC模式)和Javascript。任何建議將非常感激。

謝謝!

+0

您對您的模型(圖表)或關於如何將它們組合到應用程序中的評論? – gnur 2011-02-01 11:51:38

+0

我有一些Javascript和PHP中的其他類,所以我需要的是如何將它們合併到一個圖中(因爲一些PHP視圖正在使用我的JS代碼)。謝謝! – 2011-02-01 11:53:24

+0

所以問題是你應該如何在圖表中表示它們而不是服務器上的文件? – 2011-02-01 12:19:20

回答

7

通常情況下,你不希望這樣做。在瀏覽器中查看網頁時存在延遲問題。每個單獨的JavaScript文件都會導致緩存失敗,並且需要額外的傳輸時間才能加載頁面。這是commonly advised結合JS文件儘可能實用,以更好地利用瀏覽器緩存。所以我的第一個建議是不要隨意拆你的JS建築方面的原因...

現在,隨着中說,要回答你的全部問題,我認爲這取決於你如何看待JS。如果你從它看待它的角度來看,它增強了你的PHP應用程序,那麼把它分成你的觀點並不差(上述建議不能)。

然而,我通常看到JS作爲PHP應用程序上方的分離應用層。 JS通過定義的API與PHP層進行交互。所以它基本上只是一個完整的GUI應用程序,恰好使用PHP應用程序定義的API。因此,考慮到這一點,我通常使用自己的體系結構構建JS應用程序,這更依賴於自身,然後是PHP應用程序。換句話說,僅僅因爲JS應用程序的一部分與PHP交互並不意味着這段代碼屬於PHP應用程序。

這有道理嗎?

2

我不知道你做的事情通常但在我的項目的方式,我傾向於單獨的PHP和JS。首先,如果你這樣做,它更容易開發和調試,其次,如果你把javascript當作第二層,而不是像PHP那樣處於編程水平,那麼在JS的情況下你會得到一個工作回退沒有工作,或者您的網絡應用的用戶禁用了JavaScript。

我傾向於使PHP一切工作,後來我重寫使用JavaScript的一些行動,讓他們通過Ajax而不是老派網絡工作的traditionnal方式工作。

---修訂如下第一個註釋---

然後,你可能要處理PHP和JavaScript一部分分離的應用。第一個系統(PHP)生成初始狀態。在用戶操作後,第二個系統(JS)對第一個系統進行查詢並等待答案,這樣,您將設置某種API來標準化您的交易。

我以前和設計信息專家一起工作,他們經常把Jesse James Garrett稱爲專業領域的「Guru」,你可能想檢查他的網站(有omnigraffle,visio和其他一些預製的模板)。

通過他的寫作和例如,你也許能找到合適的符號和元素來代表你的系統。

Jesse James Garrett's website

3

試圖在一個UML圖上放置所有的類(即使在一個應用程序中 - 你有兩個:一個PHP應用程序和一個JS應用程序)幾乎是一種浪費大量時間和無所得的方式。

使用UML顯示一個包或一組類中的依賴關係,但不要嘗試爲整個應用程序執行此操作。