我已經閱讀了關於bundle和Symfony2項目體系結構的很多不同的事情,但是我還沒有得出關於單個項目最佳實踐的結論這不涉及重新使用包等。原因是這是一個客戶特定的項目。Symfony2 Bundle /應用程序結構(前端/後端)
該應用程序是一個包含新聞,博客,多步驟申請表,聯繫人,推薦等不同部分的大型網站。每個部分都需要後端和前端功能,例如新聞文章可以由管理員在後端添加並可以在前端查看。後端將包含一些僅用於後端的功能,如管理員用戶,並且將有一個管理日誌記錄每個管理用戶的活動,因此需要在每個後端部分中都可訪問。
我最初以爲每個部分有不同的捆綁包,例如AdminUserBundle,NewsBUndle,BlogBundle等,之後我很快意識到存在很多共享的佈局/模板和功能(如AdminLog)。因此,你認爲對於這類項目來說最好的做法是什麼?我覺得我有三種選擇,但開放給其他建議:
- 1包的所有控制器,視圖,測試等中後端和前端目錄
- 3根 - CoreBundle,FrontendBundle和BackendBundle其中CoreBundle將包含所有共享功能,如實體,AdminLog等
- 包含前端和後端目錄在控制器,視圖,測試等內的每個部分的包。即NewsBundle將包含新聞實體,並將包含前端和後端控制器,視圖和試驗。 BlogBundle將包含博客實體和前端和後端控制器,視圖,測試等
感謝
由於重用不是問題,我會跟選項1.去您可以隨時分手的事情,如果它變得太笨重。 – Cerad
謝謝。我認爲這樣做雖然使它有點不整齊,因爲你可以在一個文件夾中有很多很多的控制器/視圖等。如果我們爲每個功能單獨提供了一個包,則可以更輕鬆地導航並找到正在處理的特定部分的代碼。 – user1961082