【发布时间】:2015-09-19 00:22:26
【问题描述】:
在 Symfony 2 应用程序中,我需要一个模型类(在数据库中没有持久性),它具有涉及其他实体(具有持久性)的业务逻辑功能。
在我的概念模型中,有“Rooms”、“Connections”和“Algorithms”。房间和连接是基于教义的 Symfony 实体。算法应该是模型类或实体,在数据库中没有持久性。
业务逻辑如下: - 有不同种类的算法 - 一种算法在功能不同的标准中使房间和连接之间的关系。这意味着从数据库中检索房间或连接,应用逻辑,修改或创建新实体到数据库。
我采用的第一种方法是将算法工厂作为Symfony Service 提供一个对象来创建基于类型参数的算法。
控制器调用此服务并调用算法的函数来应用逻辑。
我遇到的概念问题如下:我不知道哪种类型的 Symfony 元素应该是 Algorithm 类。如果它是一个实体,它不能使用 Doctrine Manager 从数据库中获取房间或连接,不是吗?就 Symfony 而言,它应该是控制器即服务吗?
我对如何在 Symfony 架构中表示这一点感到怀疑。
谢谢
【问题讨论】:
-
有一个很详尽的答案:stackoverflow.com/a/25533968/897301
标签: symfony model-view-controller doctrine business-logic