在symfony中,我看到一些程序员将业务逻辑放入操作(控制器),一些编码员将其放入模型(Doctrine)。业务逻辑应该在控制器或模型中的哪个位置?如果我没有使用Doctrine,它只是纯文本文件怎么办?
答案 0 :(得分:2)
将业务逻辑放在控制器中是一个糟糕的实践,模型是它的家。
如果你没有Doctrine,你仍然可以拥有自己的实体,模型类(你应该)。您的文件可以被抽象化,然后将他们的业务逻辑放在他们自己的类中,而不是放在控制器中。
关于MVC的全部内容,M真的取决于你。
答案 1 :(得分:1)
标准Symfony和MVC约定将使控制器仅执行接收从视图或视图传递的信息所需的操作。大多数情况下,对该信息的任何数据处理都应位于您的模型和库类中,以便在最佳重用或结构化代码组织中进行设置。
Symfony的最大优势之一是,任何其他优秀的Symfony开发人员都可以快速编写任何其他优秀的Symfony开发人员的项目,主要是因为MVC约定和Symfony通过良好编码强制开发的组织标准。
答案 2 :(得分:0)
总线。逻辑不应该存在于控制器中。控制器应该很好地控制或指导他们所在应用程序中的控制流程。
总线。逻辑应该存在于域级对象中,可以在各种应用程序中共享它们。