This commit is contained in:
Xes
2025-08-14 22:41:49 +02:00
parent 2de81ccc46
commit 8ce45119b6
39774 changed files with 4309466 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
<?php
namespace Ddeboer\DataImport\Step;
use Ddeboer\DataImport\Step;
use Symfony\Component\PropertyAccess\PropertyAccessor;
/**
* @author Markus Bachmann <markus.bachmann@bachi.biz>
*/
class ValueConverterStep implements Step
{
/**
* @var array
*/
private $converters = [];
/**
* @param string $property
* @param callable $converter
*
* @return $this
*/
public function add($property, callable $converter)
{
$this->converters[$property][] = $converter;
return $this;
}
/**
* {@inheritdoc}
*/
public function process(&$item)
{
$accessor = new PropertyAccessor();
foreach ($this->converters as $property => $converters) {
foreach ($converters as $converter) {
$orgValue = $accessor->getValue($item, $property);
$value = call_user_func($converter, $orgValue);
$accessor->setValue($item,$property,$value);
}
}
return true;
}
}