在symfony2中组织捆绑包的最佳和正确方法

时间:2012-01-25 21:03:47

标签: symfony

我有点困惑我应该如何组织symfony2中的包。在我的应用程序中,我需要3页:

1-插入 2-列表 3-更新

哪一个可能是组织我的代码的正确和最佳方式?

的src / CP / AddPageBundle SRC / CP / EditPageBundle SRC / CP / UpdatePageBundle

OR

在一个捆绑包中写下3个不同的控制器,每个控制器在不同的文件中?

OR

在一个捆绑包中,在一个控制器文件中写入3个不同的操作?

我真的很困惑。

提前致谢!

3 个答案:

答案 0 :(得分:7)

在一个捆绑包中,一个控制器中有3个不同的动作。无需跨捆绑或控制器拆分此功能。

例如,您可以使用UserController(insertAction,ListAction,UpdateAction)编辑/列出/更新User以处理用户,例如添加另一个控制器(CommentsController)以进行编辑/列表/更新注释。相同的情况可用于您的Page示例(添加/编辑/更新)

可选方法是在控制器文件夹中创建文件夹,以便我们有更多有组织的代码。例如,为控制器创建Admin文件夹:Admin / ConsoleController,Admin / CategoryController,Admin / PluginController来处理管理功能。

答案 1 :(得分:0)

我完全赞同TroodoN-Mike。您还应该使用Page实体和字段(publish_date,title,content等)创建PageBundle,然后执行

app/console generate doctrine:crud PageBundle:Page

Symfony将生成一个基本的CRUD,但是使用insert / list / update

答案 2 :(得分:0)

刚试过这个 - 命令是:

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

这将在命令行上启动向导,该向导将提示您输入所需的任何其他参数。

不幸的是,只有当您的主键字段被称为id且具有getID()方法时才有效。