我正在寻找 PHP 的Dozer克隆。
Dozer for Java 是一个对象到对象映射框架。
是否有任何 PHP 库可以这样做?
好吧,PHP 比 Java 更动态,所以实现自己的小框架并不难,举个简单的例子,例如:
$mymapping = array(
"prop1" => "otherName1",
"prop2" => "otherName2");
$obj1 = new Object1();
$obj2 = new Object2();
function mapObjects($mapping, $object1, $object2)
{
foreach($mapping as $obj1Property => $obj2Property)
{
$object2->$obj2Property = $object1->$obj1Property;
}
}
mapObjects($mymapping, $obj1, $obj2);
几年前我做了一个小端口: https ://github.com/activeingredient/AiToolBundle/blob/master/Service/Dozer.php
可以在此处找到更完整的数据映射器(作为 Symfony 包): https ://github.com/michelsalib/BCCAutoMapperBundle
我最近发现了 AutoMapper+ ( https://github.com/mark-gerarts/automapper-plus ) 并且对它完全满意。高度灵活且易于使用的 DTO 映射器。