2012-01-25 39 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()方法时才有效。

相关问题