ObjectConverter extends AbstractTypeConverter

This converter transforms arrays to simple objects (POPO) by setting properties.

Table of Contents

Constants

CONFIGURATION_OVERRIDE_TARGET_TYPE_ALLOWED  = 4
CONFIGURATION_TARGET_TYPE  = 3

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.

Deprecated

will be removed in TYPO3 v13.0, as this is defined in Services.yaml.

protected int $priority = 10

$sourceTypes

The source types this converter can convert.

Deprecated

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.

Deprecated

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
Internal

only to be used within Extbase, not part of TYPO3 Core API.

Return values
bool

convertFrom()

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
Internal

only to be used within Extbase, not part of TYPO3 Core API.

Tags
throws
InvalidTargetException
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
Deprecated

will be removed in TYPO3 v13.0, as this is defined in Services.yaml.

Return values
int

getSourceChildPropertiesToBeConverted()

Convert all properties in the source array

public getSourceChildPropertiesToBeConverted(mixed $source) : array<string|int, mixed>
Parameters
$source : mixed
Internal

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>
Deprecated

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
Deprecated

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
string

getTargetTypeForSource()

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
Internal

only to be used within Extbase, not part of TYPO3 Core API.

Tags
throws
InvalidDataTypeException
throws
InvalidPropertyMappingConfigurationException
throws
InvalidArgumentException
Return values
string

getTypeOfChildProperty()

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
Internal

only to be used within Extbase, not part of TYPO3 Core API.

Tags
throws
InvalidTargetException
Return values
string

the type of $propertyName in $targetType

injectContainer()

public injectContainer(ContainerInterface $container) : mixed
Parameters
$container : ContainerInterface

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

if a required constructor argument is missing

Return values
object

The created instance


        
On this page

Search results