PEAR DB_DataObject实现哪种设计模式?
时间:2020-03-05 18:46:13 来源:igfitidea点击:
DB_DataObject似乎不是ActiveRecord,因为我们不必将业务逻辑存储在"表"类中。看起来更像是表数据网关或者行数据网关,但我确实无法分辨。我需要的是可以与DataMapper和DomainModel一起使用的良好的ORM层。有任何想法吗?
解决方案
回答
单击此链接以阅读DB_DO是什么。简而言之,它没有实现特定的模式,只是旨在提供一个通用的接口。这个想法是不要在每个项目中重建相同的基本代码。
至于ORM,我建议使用Doctrine。它实现了ActiveRecord。
回答
听起来我们正在寻找的是类似IBatis for PHP的东西。可悲的是,这还不存在。实际上,我已经为正在处理的当前应用程序编写了一些基于PDO的自定义DataMapper内容,以实现持久性无知的域层。但是,开发和维护绝对是更多的工作,因此,我建议尽可能使用现有的数据层实现(例如Doctrine)来满足大多数需求。