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
throws
TypeConverterException

thrown in case a developer error occurred

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
int

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>

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
string

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 $configuration = null ]) : string
Parameters
$source : mixed

the source data

$originalTargetType : string

the type we originally want to convert to

$configuration : PropertyMappingConfigurationInterface = null
Return values
string

        
On this page

Search results