TypeConverterInterface
Interface for type converters, which can convert from a simple type to an object or another simple type.
All Type Converters should have NO INTERNAL STATE, such that they can be used as singletons and multiple times in succession (as this improves performance dramatically).
Table of Contents
Methods
- convertFrom() : mixed|Error
- Actually convert from $source to $targetType, taking into account the fully built $convertedChildProperties and $configuration.
- getSourceChildPropertiesToBeConverted() : array<string|int, mixed>
- Return a list of sub-properties inside the source object.
- getTargetTypeForSource() : string
- Returns the type for a given source, depending on e.g. the __type setting or other properties.
- getTypeOfChildProperty() : string
- Return the type of a given sub-property inside the $targetType
Methods
convertFrom()
Actually convert from $source to $targetType, taking into account the fully built $convertedChildProperties and $configuration.
public
convertFrom(mixed $source, string $targetType[, array<string|int, mixed> $convertedChildProperties = [] ][, PropertyMappingConfigurationInterface $configuration = null ]) : mixed|Error
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 \TYPO3\CMS\Extbase\Error\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.
Parameters
- $source : mixed
- $targetType : string
- $convertedChildProperties : array<string|int, mixed> = []
- $configuration : PropertyMappingConfigurationInterface = null
Tags
Return values
mixed|Error —the target type, or an error object if a user-error occurred
getSourceChildPropertiesToBeConverted()
Return a list of sub-properties inside the source object.
public
getSourceChildPropertiesToBeConverted(mixed $source) : array<string|int, mixed>
The "key" is the sub-property name, and the "value" is the value of the sub-property.
Parameters
- $source : mixed
Return values
array<string|int, mixed>getTargetTypeForSource()
Returns the type for a given source, depending on e.g. the __type setting or other properties.
public
getTargetTypeForSource(mixed $source, string $originalTargetType[, PropertyMappingConfigurationInterface|null $configuration = null ]) : string
Parameters
- $source : mixed
-
the source data
- $originalTargetType : string
-
the type we originally want to convert to
- $configuration : PropertyMappingConfigurationInterface|null = null
Return values
stringgetTypeOfChildProperty()
Return the type of a given sub-property inside the $targetType
public
getTypeOfChildProperty(string $targetType, string $propertyName, PropertyMappingConfigurationInterface $configuration) : string
Parameters
- $targetType : string
- $propertyName : string
- $configuration : PropertyMappingConfigurationInterface
Return values
string —the type of $propertyName in $targetType