ObjectConverter extends AbstractTypeConverter
This converter transforms arrays to simple objects (POPO) by setting properties.
Table of Contents
Constants
Properties
- $container : ContainerInterface
- $priority : int
- The priority for this converter.
- $reflectionService : ReflectionService
- $sourceTypes : array<string|int, mixed>
- The source types this converter can convert.
- $targetType : string
- The target type this converter can convert to.
Methods
- canConvertFrom() : bool
- Only convert non-persistent types
- convertFrom() : object|null
- Convert an object from $source to an object.
- getPriority() : int
- Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.
- getSourceChildPropertiesToBeConverted() : array<string|int, mixed>
- Convert all properties in the source array
- 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
- Determines the target type based on the source's (optional) __type key and by evaluating possible XCLASS overrides of the target type.
- getTypeOfChildProperty() : string
- The type of a property is determined by the reflection service.
- injectContainer() : mixed
- injectReflectionService() : void
- buildObject() : object
- Builds a new instance of $objectType with the given $possibleConstructorArgumentValues. If constructor argument values are missing from the given array the method looks for a default value in the constructor signature. Furthermore, the constructor arguments are removed from $possibleConstructorArgumentValues: They are considered "handled" by __construct and will not be mapped calling setters later.
Constants
CONFIGURATION_OVERRIDE_TARGET_TYPE_ALLOWED
public
int
CONFIGURATION_OVERRIDE_TARGET_TYPE_ALLOWED
= 4
CONFIGURATION_TARGET_TYPE
public
int
CONFIGURATION_TARGET_TYPE
= 3
Properties
$container
protected
ContainerInterface
$container
$priority
The priority for this converter.
will be removed in TYPO3 v13.0, as this is defined in Services.yaml.
protected
int
$priority
= 10
$reflectionService
protected
ReflectionService
$reflectionService
$sourceTypes
The source types this converter can convert.
will be removed in TYPO3 v13.0, as this is defined in Services.yaml.
protected
array<string|int, mixed>
$sourceTypes
= ['array']
$targetType
The target type this converter can convert to.
will be removed in TYPO3 v13.0, as this is defined in Services.yaml.
protected
string
$targetType
= 'object'
Methods
canConvertFrom()
Only convert non-persistent types
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 an object from $source to an object.
public
convertFrom(mixed $source, string $targetType[, array<string|int, mixed> $convertedChildProperties = [] ][, PropertyMappingConfigurationInterface|null $configuration = null ]) : object|null
Parameters
- $source : mixed
- $targetType : string
- $convertedChildProperties : array<string|int, mixed> = []
- $configuration : PropertyMappingConfigurationInterface|null = null
only to be used within Extbase, not part of TYPO3 Core API.
Tags
Return values
object|null —the target type
getPriority()
Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.
public
getPriority() : int
will be removed in TYPO3 v13.0, as this is defined in Services.yaml.
Return values
intgetSourceChildPropertiesToBeConverted()
Convert all properties in the source array
public
getSourceChildPropertiesToBeConverted(mixed $source) : array<string|int, mixed>
Parameters
- $source : mixed
only to be used within Extbase, not part of TYPO3 Core API.
Return values
array<string|int, mixed>getSupportedSourceTypes()
Returns the list of source types the TypeConverter can handle.
public
getSupportedSourceTypes() : array<string|int, string>
will be removed in TYPO3 v13.0, as this is defined in Services.yaml.
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
will be removed in TYPO3 v13.0, as this is defined in Services.yaml.
Can be a simple type or a class name.
Return values
stringgetTargetTypeForSource()
Determines the target type based on the source's (optional) __type key and by evaluating possible XCLASS overrides of the target type.
public
getTargetTypeForSource(mixed $source, string $originalTargetType[, PropertyMappingConfigurationInterface|null $configuration = null ]) : string
Parameters
- $source : mixed
- $originalTargetType : string
-
the type we originally want to convert to
- $configuration : PropertyMappingConfigurationInterface|null = null
only to be used within Extbase, not part of TYPO3 Core API.
Tags
Return values
stringgetTypeOfChildProperty()
The type of a property is determined by the reflection service.
public
getTypeOfChildProperty(string $targetType, string $propertyName, PropertyMappingConfigurationInterface $configuration) : string
Parameters
- $targetType : string
- $propertyName : string
- $configuration : PropertyMappingConfigurationInterface
only to be used within Extbase, not part of TYPO3 Core API.
Tags
Return values
string —the type of $propertyName in $targetType
injectContainer()
public
injectContainer(ContainerInterface $container) : mixed
Parameters
- $container : ContainerInterface
injectReflectionService()
public
injectReflectionService(ReflectionService $reflectionService) : void
Parameters
- $reflectionService : ReflectionService
buildObject()
Builds a new instance of $objectType with the given $possibleConstructorArgumentValues. If constructor argument values are missing from the given array the method looks for a default value in the constructor signature. Furthermore, the constructor arguments are removed from $possibleConstructorArgumentValues: They are considered "handled" by __construct and will not be mapped calling setters later.
protected
buildObject(array<string|int, mixed> &$possibleConstructorArgumentValues, string $objectType) : object
Parameters
- $possibleConstructorArgumentValues : array<string|int, mixed>
- $objectType : string
Tags
Return values
object —The created instance