繁体   English   中英

如何使用TYPO3 Extbase将属性从一个对象复制到另一个对象?

[英]How to copy attributes from one to another object with TYPO3 Extbase?

使用Tx_Extbase_Property_Mapper::map() (“旧的属性映射器”),可以将属性从一个复制到另一个对象:

$propertyMapper = t3lib_div::makeInstance('Tx_Extbase_Property_Mapper');
$propertyMapper->map(array('senderAddress', 'recipientAddress', 'subject', 'body'), $oldObj, $newObj);

使用“新”属性映射器, map()方法不再存在。

在Extbase中是否可以将属性从一个对象复制到另一个对象?

不。不在extbase中,但是您可以构建自己的方法,如下所示:

$properties = array('senderAddress', 'recipientAddress', 'subject', 'body');
foreach ($properties as $property) {
  $getter = get . ucfirst($property);
  $setter = set . ucfirst($property);
  $newObject->{$setter}($oldObject->{$getter}());
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM