CakePHP 业务逻辑层
Posted
技术标签:
【中文标题】CakePHP 业务逻辑层【英文标题】:CakePHP business logic layer 【发布时间】:2011-11-26 04:56:48 【问题描述】:Cakephp 似乎从未提及分离应用程序的业务逻辑层和数据访问层。这是我的第一个 MVC 应用程序,我的“胖模型”变得非常胖,因为它们包含各种业务逻辑,唯一的共同点是需要访问同一个数据库。
当您听到将业务逻辑从控制器转移到模型中的建议时,是否真的可以接受这种状态? CakePHP 是否为单独的业务逻辑层提供任何结构作为其框架的一部分?
谢谢,布赖恩
【问题讨论】:
【参考方案1】:没有。在我看来,您遇到的是 Active Record 模式的经典缺点。此外,CakePHP 完全基于结果关联数组而不是对象实例也无济于事。我建议你看看像Doctrine 2 这样的包。它实现了 DataMapper 模式而不是 ActiveRecord 模式。它使您的业务逻辑与您的数据访问层完全分离。
有 CakePHP 扩展可以将 Doctrine 集成到 CakePHP 中。
【讨论】:
以上是关于CakePHP 业务逻辑层的主要内容,如果未能解决你的问题,请参考以下文章