‪TYPO3CMS  10.4
TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter Class Reference
Inheritance diagram for TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter:
TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter TYPO3\CMS\Extbase\Property\TypeConverterInterface TYPO3\CMS\Core\SingletonInterface TYPO3\CMS\Extbase\Property\TypeConverter\PersistentObjectConverter

Public Member Functions

 injectObjectContainer (Container $objectContainer)
 
 injectReflectionService (ReflectionService $reflectionService)
 
bool canConvertFrom ($source, string $targetType)
 
array getSourceChildPropertiesToBeConverted ($source)
 
string getTypeOfChildProperty (string $targetType, string $propertyName, PropertyMappingConfigurationInterface $configuration)
 
object null convertFrom ($source, string $targetType, array $convertedChildProperties=[], PropertyMappingConfigurationInterface $configuration=null)
 
string getTargetTypeForSource ($source, string $originalTargetType, PropertyMappingConfigurationInterface $configuration=null)
 
- ‪Public Member Functions inherited from ‪TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter
 injectObjectManager (ObjectManagerInterface $objectManager)
 
string[] getSupportedSourceTypes ()
 
string getSupportedTargetType ()
 
int getPriority ()
 

Public Attributes

const CONFIGURATION_TARGET_TYPE = 3
 
const CONFIGURATION_OVERRIDE_TARGET_TYPE_ALLOWED = 4
 

Protected Member Functions

object buildObject (array &$possibleConstructorArgumentValues, string $objectType)
 

Protected Attributes

array $sourceTypes = array( 'array' )
 
string $targetType = 'object'
 
int $priority = 10
 
TYPO3 CMS Extbase Object Container Container $objectContainer
 
TYPO3 CMS Extbase Reflection ReflectionService $reflectionService
 
- ‪Protected Attributes inherited from ‪TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter
string[] $sourceTypes = array( )
 
string $targetType = ''
 
int $priority
 
TYPO3 CMS Extbase Object ObjectManagerInterface $objectManager
 

Detailed Description

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

Definition at line 34 of file ObjectConverter.php.

Member Function Documentation

◆ buildObject()

object TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::buildObject ( array &  $possibleConstructorArgumentValues,
string  $objectType 
)
protected

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

Parameters
array$possibleConstructorArgumentValues
string$objectType
Returns
‪object The created instance
Exceptions

Definition at line 237 of file ObjectConverter.php.

Referenced by TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter\convertFrom(), and TYPO3\CMS\Extbase\Property\TypeConverter\PersistentObjectConverter\handleArrayData().

◆ canConvertFrom()

bool TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::canConvertFrom (   $source,
string  $targetType 
)

Only convert non-persistent types

Parameters
mixed$source
string$targetType
Returns
‪bool

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

Reimplemented from TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter.

Reimplemented in TYPO3\CMS\Extbase\Property\TypeConverter\PersistentObjectConverter.

Definition at line 90 of file ObjectConverter.php.

References TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter\$targetType.

◆ convertFrom()

object null TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::convertFrom (   $source,
string  $targetType,
array  $convertedChildProperties = [],
PropertyMappingConfigurationInterface  $configuration = null 
)

Convert an object from $source to an object.

Parameters
mixed$source
string$targetType
array$convertedChildProperties
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface$configuration
Returns
‪object|null the target type
Exceptions

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

Reimplemented in TYPO3\CMS\Extbase\Property\TypeConverter\PersistentObjectConverter.

Definition at line 173 of file ObjectConverter.php.

References TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter\$targetType, TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter\buildObject(), and TYPO3\CMS\Extbase\Reflection\ObjectAccess\setProperty().

◆ getSourceChildPropertiesToBeConverted()

array TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::getSourceChildPropertiesToBeConverted (   $source)

Convert all properties in the source array

Parameters
mixed$source
Returns
‪array

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

Reimplemented from TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter.

Reimplemented in TYPO3\CMS\Extbase\Property\TypeConverter\PersistentObjectConverter.

Definition at line 102 of file ObjectConverter.php.

◆ getTargetTypeForSource()

string TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::getTargetTypeForSource (   $source,
string  $originalTargetType,
PropertyMappingConfigurationInterface  $configuration = null 
)

Determines the target type based on the source's (optional) __type key.

Parameters
mixed$source
string$originalTargetType
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface$configuration
Returns
‪string
Exceptions

Reimplemented from TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter.

Definition at line 204 of file ObjectConverter.php.

References TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter\$targetType.

◆ getTypeOfChildProperty()

string TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::getTypeOfChildProperty ( string  $targetType,
string  $propertyName,
PropertyMappingConfigurationInterface  $configuration 
)

The type of a property is determined by the reflection service.

Parameters
string$targetType
string$propertyName
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface$configuration
Returns
‪string
Exceptions

Reimplemented from TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter.

Definition at line 120 of file ObjectConverter.php.

References TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter\$targetType, TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface\getConfigurationFor(), and TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface\getConfigurationValue().

◆ injectObjectContainer()

TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::injectObjectContainer ( Container  $objectContainer)
Parameters
\TYPO3\CMS\Extbase\Object\Container\Container$objectContainer

Definition at line 69 of file ObjectConverter.php.

References TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter\$objectContainer.

◆ injectReflectionService()

TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::injectReflectionService ( ReflectionService  $reflectionService)
Parameters
\TYPO3\CMS\Extbase\Reflection\ReflectionService$reflectionService

Definition at line 77 of file ObjectConverter.php.

References TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter\$reflectionService.

Member Data Documentation

◆ $objectContainer

TYPO3 CMS Extbase Object Container Container TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::$objectContainer
protected

◆ $priority

int TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::$priority = 10
protected

Definition at line 56 of file ObjectConverter.php.

◆ $reflectionService

TYPO3 CMS Extbase Reflection ReflectionService TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::$reflectionService
protected

◆ $sourceTypes

array TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::$sourceTypes = array( 'array' )
protected

Definition at line 48 of file ObjectConverter.php.

◆ $targetType

◆ CONFIGURATION_OVERRIDE_TARGET_TYPE_ALLOWED

◆ CONFIGURATION_TARGET_TYPE