2012-01-25 40 views
1

我有點困惑,我應該如何組織symfony2中的包。在我的應用程序,我需要3頁:最好和正確的方式來組織symfony2中的包

1-插入 2-名單 3-更新

哪一個可能是正確的,並組織我的代碼最好的方法?

SRC/CP/AddPageBundle SRC/CP/EditPageBundle SRC/CP/UpdatePageBundle

OR

在一個束寫入3個不同的控制器,每一個在不同的文件?

OR

在一個束,寫在一個控制器文件3個不同的動作?

我真的很困惑這一點。

在此先感謝!

回答

7

在一個包中,一個控制器中有3個不同的動作。無需在捆綁軟件或控制器上分割此功能。

例如,您可以編輯/列出/更新具有UserController(insertAction,ListAction,UpdateAction)的用戶以處理用戶,並且例如爲編輯/列表/更新評論添加另一個控制器(CommentsController)。同樣的情況可以用於你的頁面示例(添加/編輯/更新)

可選的方法是在控制器文件夾內創建文件夾,以便我們擁有更多有組織的代碼。例如,爲控制器創建Admin文件夾:Admin/ConsoleController,Admin/CategoryController,Admin/PluginController來處理管理功能。

+0

嘿,非常感謝!爲了補充,你是否使用了app/config/routing.yml中的路由,或者每個路由應該放在每個bundle中? – rpa

+0

我會在每個包中使用單獨的路由。這種方式捆綁自己工作(是孤立的),可以傳遞給其他應用程序而不會丟失路由。 –

0

我完全同意TroodoN-Mike。你還應該創建PageBundle您的網頁實體和你的領域(出版日期,標題,內容ECT),並執行

app/console generate doctrine:crud PageBundle:Page 

Symfony的生成基本CRUD,但您的插入/列表/更新

0

剛試過這 - 命令是:

app/console doctrine:generate:crud --entity PageBundle:Page

這將啓動命令行,將提示你需要的任何其他參數上的嚮導。

不幸的是,只有當您的主鍵字段被稱爲ID並具有getID()方法時纔有效。

相關問題