我正在 Zend Framework 中构建一个应用程序,但我想实现一个“Data Mapper”样式的 ORM 层,构建仅包含表示领域概念所需的特定数据片段的模型类(无论这些字段恰好属于哪些表)。由于我的数据库结构是高度规范化的,因此从 Active Record ORM 中获得的好处是肤浅的。
那么您将如何在 Zend Framework 中实现一个非常简单、直接的数据映射器 ORM 层?
最佳答案
我相信还没有真正的 PHP 的“Data Mapper”风格的 ORM。如果您想要一个真正的“数据映射器”,我认为您可能不走运。
PHP 中有 2 个流行的 ORM,Propel 和 Doctrine。它们都更偏向于 ActiveRecord 方面。
我个人认为 Doctrine 是可行的。目前,它的稳定版本 1.2 尚未与 ZF 集成。例如您不能使用 doctrine 命令行脚本为模块化 ZF 应用程序设置生成模型类。
但是,如果您运行的是单个模块 ZF 应用程序,则可以很好地集成 doctrine。正如@ArneRie 指出的那样,ZendCasts 有一些非常好的视频。我从中学到了很多。
如果大家有兴趣,我也从中衍生出来,做出了自己的一种做法。您可以在 http://blog.elinkmedia.net.au/2009/12/03/zf-doctrine-and-unit-tests/ 找到我关于此主题的博文。 .您也可以从 github 下载我的示例应用程序的源代码。
关于php - Zend 框架 : How to construct a simple "Data Mapper" model?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2233390/