我正在基于PHP框架Laravel和MySQL创建应用程序。 我有Site模型,其中不超过100条记录。
对于每个站点,我必须进行一些计算并得到值数组。问题是,由于站点的细节,每个单个站点需要具有不同输入值的不同计算。这导致不同网站的代码完全不同。
我的第一个教程是为SiteController中的每个站点创建函数并在需要时调用它,但这看起来很难看,并且会让控制器变胖。 请提出更好的方法来解决这个问题。
答案 0 :(得分:0)
将业务逻辑放在服务中。原因是你最终尊重单一责任和分离关注等原则。您的服务层将处理业务逻辑,您的模型将处理数据库操作。
消息流:
Request -> Controller (action) -> Service > Model(s) ->
(back to) -> Service -> Controller -> View -> Response