2013-09-25 70 views
0

我對symfony框架和新項目很陌生,我想確保我得到了正確的設置。該項目本身將有一個前端和後端,將包含博客,論壇,新聞文章等幾個模塊。Symfony應用中邏輯的結構

每個模塊將成爲一個包。這看起來像是我們最好的解決方案。我們希望能夠取出一個捆綁包並用另一個捆綁包替換它。舉例來說,我們有兩種不同類型的博客包,如果需要我們可以交換。所以與模塊相關的所有設置和其他部分都在同一個包中是非常重要的。

現在,問題在於,每個模塊的設置都會跨越不同的頁面。例如,博客和論壇上評論的排序順序將配置在同一頁面上,遠離您管理博客文章的頁面。每個模塊的上傳設置將位於不同的頁面上。等等

對我來說,聽起來最合乎邏輯的是,在某些方面,這些設置是在指定的博客和論壇包上更新的。所以所有的部分都在一起。或者,也許不知何故,負責設置的頁面能夠找到哪些模塊具有這些設置並檢索。

解決此問題的最佳體系結構是什麼?

- 編輯 -

博客文章,博客評論,博客上傳,這是一個博客捆綁的一部分。博客包的設置也不會出現在論壇包中。我的意思是,這個捆綁包中有一個獨立的頁面,叫做「設置」,它負責處理應用程序的所有設置。它也應該照顧每個包的設置。因此,您可以在同一頁面上編輯博客設置和論壇設置,並且此頁面不是任何論壇或博客包的一部分。

回答

0

要爲博客提供一個包:好的,爲博客文章提供一個包,而爲另一個提供非常糟糕的評論。因此,您可以爲您的套件創建一個設置頁面,您可以讓應用程序的核心創建每個頁面之間的鏈接。

但是,如果您需要在不同捆綁包上的頁面上進行設置,那麼您的應用程序的結構就很糟糕。對於一個功能,使用服務,連接到一組功能,使用一個捆綁。

----編輯 你的包必須在他自己的包中有一個設置頁面。你可以用樹枝很容易地添加它們,但你總是需要自己做這個模板(這是正常的)來創建你的設置頁面。如果你有一個參數被多個bundle使用,你可以在同一個地方註冊這個參數並剪切你的模板來爲每個參數設置一個塊,並且只需要在你的完整模板中包含你需要的參數。

但是這很奇怪,在我看來,每捆綁一個設置頁面是一個好方法,冗餘參數不好,因爲今天你需要相同的設置來排序博客和論壇的評論,但明天,也許你會喜歡他們之間的差異。

這是我的觀點,而不是「解決方案」;)

+0

我沒有爲每個部分創建單獨的捆綁包。博客是一個包,包含文章和評論。 讓我編輯我的帖子來解釋一下 –

+0

我更新了我的答案;) – Peekmo