繁体   English   中英

Symfony 2商业逻辑服务?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM