【发布时间】:2015-03-11 21:42:16
【问题描述】:
我正在为我的open-source project 开发一个“胖模型”,并且我正在研究位于 ORM (RedBeanPHP) 和控制器之间的层。
我将有一个User 类,可能还有一个UserFactory/UserMapper 类可以构造User 对象,以及执行usernameExists 等元操作。
许多其他 SO 问题/博客文章指出,如果我需要检索 User 对象的 集合,让我的 UserMapper 类遍历将是低效的结果集并构建 n User 对象。
我的想法是创建一个实现 PHP 的 ArrayObject 类的 UserCollection 类。 UserMapper 将能够创建一个UserCollection,在内部将原始结果集存储为多维数组。然后我可以实现ArrayObject 的迭代器函数[] 等来按需构造相应的User 对象。
这是一个聪明的方法吗?在采用这种方法之前我需要考虑什么?
【问题讨论】:
标签: php model-view-controller datamapper redbean arrayobject