The return value can be one of three types:
- an arbitrary object, or a simple type (which has been created while mapping).
This is the normal case.
- NULL, indicating that this object should *not* be mapped (i.e. a "File Upload" Converter could return NULL if no file has been uploaded, and a silent failure should occur.
- An instance of \Neos\Error\Messages\Error -- This will be a user-visible error message later on.
Furthermore, it should throw an Exception if an unexpected failure (like a security error) occurred or a configuration issue happened.
public convertFrom ( mixed $source, string $targetType, array $convertedChildProperties = [], Neos\Flow\Property\PropertyMappingConfigurationInterface $configuration = null ) : mixed | Neos\Error\Messages\Error | ||
$source | mixed | |
$targetType | string | |
$convertedChildProperties | array | |
$configuration | Neos\Flow\Property\PropertyMappingConfigurationInterface | |
Результат | mixed | Neos\Error\Messages\Error | the target type, or an error object if a user-error occurred |
/** * @test * @dataProvider objectToArrayDataProvider */ public function canConvertFromObjectToArray($source, $expectedResult) { if (is_array($source)) { $source = json_decode(json_encode($source), false); } $convertedChildProperties = array_map(function ($value) { return $this->converter->convertFrom($value, 'array', [], null); }, $this->converter->getSourceChildPropertiesToBeConverted($source)); $this->assertEquals($expectedResult, $this->converter->convertFrom($source, 'array', $convertedChildProperties, null)); }