gre*_*emo 5 design-patterns dry symfony
我正在使用Symfony2为我的公司开发一个小型CMS.我真的很喜欢这个框架.我喜欢表单类并重用它们(毕竟这些都是关于表单的).
但是(是的,有一个"但是")我感觉我正在做同样的事情,复制并粘贴在所有控制器中.我们讨厌的代码重复.随着所有业务逻辑转移到服务和表单,事件,Doctrine中的持久化操作,我的所有控制器都做同样的事情:
$this->get('mycompany.repository.entity')我的意思是控制器动作都是一样的,只是几个字符的变化.
如何在我的控制器中使用Symfony2 进行DRY?也许控制器作为服务(我几天前才发现的一个概念)可能有所帮助?
编辑:相关问题(Boo建议的第一个想法):Symfony2如何重定向到没有硬编码路由名称的操作?
有很多方法可以获得更 DRY 的代码库:
我想,仔细想想,还有更多的方法。
我发现想法 1 非常优雅,而想法 3 也有一些优点。第二种方法有点模糊,特别是当您再次需要重复的代码时(即使它会少得多,但它远非最佳)。想法 1 与 OO 想法同步,并且很好地传达了其意图。总而言之,我会使用 BaseController!