[英]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.