ArrayConverter extends AbstractTypeConverter
Converter which transforms strings/arrays to arrays.
Table of Contents
Constants
- CONFIGURATION_DELIMITER = 'delimiter'
- CONFIGURATION_LIMIT = 'limit'
- CONFIGURATION_REMOVE_EMPTY_VALUES = 'removeEmptyValues'
Properties
- $objectManager : ObjectManagerInterface
- $priority : int
- The priority for this converter.
- $sourceTypes : array<string|int, string>
- The source types this converter can convert.
- $targetType : string
- The target type this converter can convert to.
Methods
- canConvertFrom() : bool
- We can only convert empty strings to array or array to array.
- convertFrom() : array<string|int, mixed>|string
- Convert from $source to $targetType, a noop if the source is an array.
- getPriority() : int
- Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.
- getSourceChildPropertiesToBeConverted() : array<string|int, mixed>
- todo: this method should be abstract or removed, contract is defined by TypeConverterInterface.
- 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 $originalTargetType unchanged in this implementation.
- getTypeOfChildProperty() : string
- todo: this method should be abstract or removed, contract is defined by TypeConverterInterface.
- injectObjectManager() : void
Constants
CONFIGURATION_DELIMITER
public
mixed
CONFIGURATION_DELIMITER
= 'delimiter'
CONFIGURATION_LIMIT
public
mixed
CONFIGURATION_LIMIT
= 'limit'
CONFIGURATION_REMOVE_EMPTY_VALUES
public
mixed
CONFIGURATION_REMOVE_EMPTY_VALUES
= 'removeEmptyValues'
Properties
$objectManager
since v11, will be removed in v12
protected
ObjectManagerInterface
$objectManager
$priority
The priority for this converter.
protected
int
$priority
= 10
$sourceTypes
The source types this converter can convert.
protected
array<string|int, string>
$sourceTypes
= ['array', 'string']
$targetType
The target type this converter can convert to.
protected
string
$targetType
= 'array'
Methods
canConvertFrom()
We can only convert empty strings to array or array to array.
public
canConvertFrom(mixed $source, string $targetType) : bool
Parameters
- $source : mixed
- $targetType : string
only to be used within Extbase, not part of TYPO3 Core API.
Return values
boolconvertFrom()
Convert from $source to $targetType, a noop if the source is an array.
public
convertFrom(string|array<string|int, mixed> $source, string $targetType[, array<string|int, mixed> $convertedChildProperties = [] ][, PropertyMappingConfigurationInterface $configuration = null ]) : array<string|int, mixed>|string
If it is an empty string it will be converted to an empty array. If the type converter has a configuration, it can convert non-empty strings, too
Parameters
- $source : string|array<string|int, mixed>
- $targetType : string
- $convertedChildProperties : array<string|int, mixed> = []
- $configuration : PropertyMappingConfigurationInterface = null
Return values
array<string|int, mixed>|stringgetPriority()
Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.
public
getPriority() : int
Return values
intgetSourceChildPropertiesToBeConverted()
todo: this method should be abstract or removed, contract is defined by TypeConverterInterface.
public
getSourceChildPropertiesToBeConverted(mixed $source) : array<string|int, mixed>
Returns an empty list of sub property names
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 $originalTargetType unchanged in this implementation.
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()
todo: this method should be abstract or removed, contract is defined by TypeConverterInterface.
public
getTypeOfChildProperty(string $targetType, string $propertyName, PropertyMappingConfigurationInterface $configuration) : string
This method is never called, as getSourceChildPropertiesToBeConverted() returns an empty array.
Parameters
- $targetType : string
- $propertyName : string
- $configuration : PropertyMappingConfigurationInterface
Return values
stringinjectObjectManager()
public
injectObjectManager(ObjectManagerInterface $objectManager) : void
since v11, will be removed in v12
Parameters
- $objectManager : ObjectManagerInterface
only to be used within Extbase, not part of TYPO3 Core API.