【发布时间】:2012-03-13 23:00:00
【问题描述】:
我正在使用 Symfony2 为我的公司开发一个小型 CMS。我真的很喜欢这个框架。我喜欢表单类并重用它们(毕竟这都是关于表单的)。
但是(是的,有一个“但是”)我觉得我在做同样的事情,复制并粘贴到所有控制器中。我们讨厌的代码重复。将所有业务逻辑移至 Services 并在 Doctrine 中保存表单、事件、持久化操作,我所有的控制器都在做同样的事情:
- 获取存储库
$this->get('mycompany.repository.entity') - 动态创建表单(逻辑在表单类本身内部)
- 验证表单、返回视图或持久化实体
- 等等……
我的意思是控制器的动作都是一样的,只是改变了几个字符。
如何在我的控制器中使用 Symfony2 DRY?也许控制器即服务(我几天前才发现的一个概念)可能会有所帮助?
编辑:相关问题(针对 Boo 提出的第一个想法):Symfony2 how to redirect to an action without hardcoding route name?
【问题讨论】:
标签: design-patterns symfony dry