CakePHP似乎没有提到将应用程序的业务逻辑和数据访问层分开。这是我的第一个MVC应用程序,我的“胖模型”变成了非常胖,因为它们包含各种业务逻辑,其唯一真正的共同点是需要访问同一个数据库。
当您听到将业务逻辑从控制器转移到模型中的建议时,最终是否可以接受这种状态? CakePHP是否为单独的业务逻辑层提供了任何结构作为其框架的一部分?
谢谢,Brian
答案 0 :(得分:7)
没有。听起来你遇到的是Active Record模式的经典缺点。此外,CakePHP全部基于结果关联数组而不是对象实例,这没有任何帮助。我建议你看一下像Doctrine 2这样的软件包。它实现了DataMapper模式而不是ActiveRecord模式。它使您的业务逻辑与数据访问层完全分离。
有CakePHP扩展可以将Doctrine集成到CakePHP中。