datamapper是否将SGBD结果转换为对象?

Vin*_*ent 7 php model-view-controller

我正在使用MySql并在数组中返回结果/行.

我知道最后,模型层"目标"是在处理SGBD查询后返回一个对象.

那么,将行(或单行)转换为对象的过程是否应该集成到DataMapper(它是Model层的一部分)中,还是应该由DataMapper中注入的第三个服务负责?

谢谢

San*_*ser 3

因此,是否应该将行(或单行)转换为对象的过程集成到 DataMapper 中。

是的,这是数据映射器的责任。它应该返回一个实体,而不是结果集。

或者它应该是注入 DataMapper 中的第三个服务的责任?

这也是一种可能性,谷歌到“UnitOfWork”我想这就是你正在寻找的。 https://www.sitepoint.com/implementing-a-unit-of-work/

您还可以查看学说源 https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/EntityManager.php