[英]Symfony 2 Services for Business Logic?
我目前正在使用Symfony 2开发一个简单的Web应用程序,该应用程序处理带有产品和订单行的订单。 实际上,我有三个教义实体(产品,生产线和订单)。 我将使用这些模型的数据,并且需要按日期过滤,添加,删除,列出所有数据并进行一些管理工作。
据我所知,这将是服务领域,并且是避免控制器执行此操作的最佳实践。
我的问题确实是我是否需要使用所有操作所需的方法创建一个类,然后从控制器中调用它们,或者为每个Doctrine模型(OrderManager,LineManager ...)创建一个Service类,还是将其定位为任务特定的(RecountTotal,FilterDate ...),但是对于最后一种方法,我认为每个服务内部都只有一个方法。
哪个是最佳做法?
您完全正确地说这不是控制器的工作。
只使用一个管理器来包含所有数据访问方法是完全可以的。
class BaseManager { // Name it as you like
...
}
如果发现自己对不同实体具有非常相似的方法,则可能需要拆分为不同的管理器(OrderManager,LineManager,ProductManager),并让它们扩展公共BaseManager来减少代码重复。
除非您有一些高级要求,否则不需要其他过滤器和计数类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.