我一直在編碼多年,發現自己處於一種沮喪的狀態。我正在研究一種新的基於Web的服務,該服務也具有UI,並且將從頭開發。它會使用一些開源組件,但主要是一個新的東西。基於Web的信息系統的PHP/JavaScript設計模式
但這是我的問題。建立這樣的系統意味着建立所有這些組件:
- PHP後臺
- HTML視圖
- CSS樣式
- JavaScript的前端
- AJAX異步連接
我想他們都遵循相同的「模式」,以這種方式,系統中的模塊由一個文件夾或一組文件組成,這些文件包含所有這些c該模塊中的組件。
但是我很難得到這個架構,所以我很喜歡它。這是我到目前爲止:
- 整個主系統或多或少寫在程序PHP。這解決了請求URL,處理緩存,日誌記錄和調試,並加載到其他組件中。
- PHP在構建頁面時,會根據當前模塊加載模塊特定的JavaScript文件,CSS文件,HTML文件和其他組件。這意味着每個模塊都儘可能輕便,同時可以根據當前模塊的需要進行擴展。
- 系統還包含可在系統範圍內使用的對象(如「用戶」或其他類的類)的OOP組件。
- 該系統是用MVC原則構建的,儘管沒有OOP。
但是我確實感覺到 - 以過程方式構建主系統。我開始在OOP開始寫它,但很快就發現自己頭痛,因爲必須讓所有的東西都適合同一個系統。這是OOP,但它緊密結合,在寫OOP方式時我不喜歡它,組件實際上並不是獨立的,或者只是一個管理的麻煩。
是否有任何模式或指導我可以按照以獲得更好的結果?我喜歡當前系統的是,我可以調用任何東西,預覽視圖呈現PHP或HTML視圖,CSS樣式,附加的Javascript函數和按需AJAX通信,保持腳部小巧玲瓏,但感覺很髒。我甚至使用全局的主數據庫連接(儘管它是一個全局對象)。
任何想法?如果它只是一種語言,那麼它就不會成爲一個問題,但試圖讓所有的東西一起工作有點讓人頭疼。
謝謝!
你已經研究數千種PHP框架的/ CMS系統的/ etc?有很多這方面的例子。 – Mat
它很難回答你的問題,因爲你沒有提出任何真正的問題。我目前正在研究這樣一個幾乎和你的系統一樣的系統,但是有一些差異。我正在使用MVC/OOP。我無法想象你正在程序上處理它。我認爲,直到你的項目有一些界限,在OOP中不應該有任何問題。 –
您可以查看企業應用程序架構模式,GoF模式等,並自己實施它們。然而,最簡單的(也是最明顯的)答案是查看框架(已經面對這個_exact_問題)是如何實現這些模式的,並且(a)使用框架或(b)將框架的方法調整到您的應用程序中。在你選擇的範例中尋找開源框架,查看他們如何做事,並看看你的應用程序有什麼樣的嘲弄。 –