读书人

[php]Collection跟持久化工厂

发布时间: 2013-10-22 16:16:51 作者: rapoo

[php]Collection和持久化工厂

Mapper类中的findById($id)可以从数据库中取出指定id的一条数据,映射成一个对象返回。很多时候我们需要返回一个数据集合(findAll),那我们就需要一种数据结构来保存这些数据,在需要时映射成对象。既然一条数据映射成一个对象,那么一个数据集合就需要一个对象集合。可以把数据集合和对象集合放在一个类中,这样就方便处理数据到对象的映射了。我们把这个类命名为Collection,为了能更好好的访问集合对象,Collection子类都实现了Iterator接口,使用foreach可以方便访问。

Collection的类结构:

[php]Collection跟持久化工厂

\demo\mapper\Collection:


\demo\mapper\PersistanceFatory

$fact = PersistanceFactory::getFactory('\demo\domain\Classroom');$mapper = $fact->getMapper();$classrooms = $mapper->findAll();foreach ($classrooms as $elem) {var_dump($elem);}

Colletion能方便管理$raws[]到$objects[]的映射。
PersistanceFactory能管理好mapper包中类对象的创建。
HelperFactory把mapper包和domain包分离开来。

读书人网 >PHP

热点推荐