在 QeePHP 2.2 中,将新增一个组件:DataMapper。
DataMapper 与现在的 ActiveRecord 一样是 ORM 服务组件。不同之处在于 DataMapper 更强调面向对象的风格,并且提供了一系列的自动化工具来提高开发效率。
有关 DataMapper 的设计思想,请阅读“Sexy ORM”。
经过努力,对于模型的解析已经接近完成。
BaseMember(源代码) 是所有会员模型的基础类,定义了所有类型会员都具备的基础属性和关联。而 Member(源代码) 是更一般化的会员,提供了针对会员领域的特定设置。
由于 DataMapper 对继承特性的良好支持,我们可以很容易的将领域模型进行拆分,拆分后的每一个领域模型都只关注自己应该承担的责任:
从源代码看,适用于 DataMapper 的模型更清晰易读。领域中必须的概念和内容都可以通过源代码来呈现,避免了现在 ActiveRecord 模式导致的数据结构和行为被人为分割的问题。
DataMapper 主要依赖于 PHP5 的反射来解析模型类。解析结果包含了模型的方方面面。由于解析结果可以轻松的缓存,因此 DataMapper 对模型类的解析并不会导致性能问题。
DataMapper 组件接下来的工作:
- ActiveRecord 和 DataMapper 将使用同一个 ORM 基础架构,这样可以满足不同需求的开发者,并且能够充分保障已有的代码资源;
- 为 DataMapper 提供一系列的自动化工具,完成诸如模型类转换为数据表设计等工作;
- 在 WebSetup 中为 DataMapper 提供支持。
总的来说,我们希望 QeePHP 2.2 更符合面向对象开发的原则和实践,能够为开发者提供更好的开发体验和基础支持。当然,我们也会保证 QeePHP 2.2 的性能不会出现下降(实际上在 ORM 部分,性能应该会有显著的提高)。


不错的构思!
祝QEE越来越好
我看好你哟!!!
廖老大 博客挺好看的 Qeephp手册撒时候弄好
Great!
期待…
不错!!!
很好的构思,模型的职责更清楚。