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
- canConvertFrom() : bool
- Here, the TypeConverter can do some additional runtime checks to see whether it can handle the given source data and the given target type.
- convertFrom() : mixed|Error
- Actually convert from $source to $targetType, taking into account the fully built $convertedChildProperties and $configuration.
- getPriority() : int
- Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.
- getSourceChildPropertiesToBeConverted() : array<string|int, mixed>
- Return a list of sub-properties inside the source object.
- getSupportedSourceTypes() : array<string|int, string>
- Returns the list of source types the TypeConverter can handle.
- getSupportedTargetType() : string
- Return the target type this TypeConverter converts to.
- 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
canConvertFrom()
Here, the TypeConverter can do some additional runtime checks to see whether it can handle the given source data and the given target type.
public
canConvertFrom(mixed $source, string $targetType) : bool
Parameters
- $source : mixed
-
the source data
- $targetType : string
-
the type to convert to.
Return values
bool —TRUE if this TypeConverter can convert from $source to $targetType, FALSE otherwise.
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
getPriority()
Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.
public
getPriority() : int
Return values
intgetSourceChildPropertiesToBeConverted()
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>getSupportedSourceTypes()
Returns the list of source types the TypeConverter can handle.
public
getSupportedSourceTypes() : array<string|int, string>
Must be PHP simple types, classes or object is not allowed.
Return values
array<string|int, string>getSupportedTargetType()
Return the target type this TypeConverter converts to.
public
getSupportedTargetType() : string
Can be a simple type or a class name.
Return values
stringgetTargetTypeForSource()
Returns the type for a given source, depending on e.g. the __type setting or other properties.
public
getTargetTypeForSource(mixed $source, string $originalTargetType[, PropertyMappingConfigurationInterface $configuration = null ]) : string
Parameters
- $source : mixed
-
the source data
- $originalTargetType : string
-
the type we originally want to convert to
- $configuration : PropertyMappingConfigurationInterface = 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