TYPO3 CMS  TYPO3_6-2
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\Core\SingletonInterface TYPO3\CMS\Extbase\Property\TypeConverterInterface TYPO3\CMS\Core\SingletonInterface TYPO3\CMS\Extbase\Property\TypeConverter\PersistentObjectConverter Tx_Extbase_Property_TypeConverter_PersistentObjectConverter

Public Member Functions

 canConvertFrom ($source, $targetType)
 
 getSourceChildPropertiesToBeConverted ($source)
 
 getTypeOfChildProperty ($targetType, $propertyName, \TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface $configuration)
 
 convertFrom ($source, $targetType, array $convertedChildProperties=array(), \TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface $configuration=NULL)
 
 getTargetTypeForSource ($source, $originalTargetType, \TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface $configuration=NULL)
 
- Public Member Functions inherited from TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter
 getSupportedSourceTypes ()
 
 getSupportedTargetType ()
 
 getTargetTypeForSource ($source, $originalTargetType, \TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface $configuration=NULL)
 
 getPriority ()
 
 canConvertFrom ($source, $targetType)
 
 getSourceChildPropertiesToBeConverted ($source)
 
 getTypeOfChildProperty ($targetType, $propertyName, \TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface $configuration)
 
- Public Member Functions inherited from TYPO3\CMS\Extbase\Property\TypeConverterInterface
 getTargetTypeForSource ($source, $originalTargetType, PropertyMappingConfigurationInterface $configuration=NULL)
 

Public Attributes

const CONFIGURATION_TARGET_TYPE = 3
 
const CONFIGURATION_OVERRIDE_TARGET_TYPE_ALLOWED = 4
 

Protected Member Functions

 buildObject (array &$possibleConstructorArgumentValues, $objectType)
 
 checkInheritanceChainWithoutIsA ($targetType, $originalTargetType)
 

Protected Attributes

 $sourceTypes = array('array')
 
 $targetType = 'object'
 
 $priority = 0
 
 $objectManager
 
 $objectContainer
 
 $reflectionService
 
- Protected Attributes inherited from TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter
 $sourceTypes = array()
 
 $targetType = ''
 
 $priority
 
 $objectManager
 

Detailed Description

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

Definition at line 28 of file ObjectConverter.php.

Member Function Documentation

◆ buildObject()

TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::buildObject ( array &  $possibleConstructorArgumentValues,
  $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 208 of file ObjectConverter.php.

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

◆ canConvertFrom()

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

Only convert non-persistent types

Parameters
mixed$source
string$targetType
Returns
boolean

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

Definition at line 80 of file ObjectConverter.php.

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

◆ checkInheritanceChainWithoutIsA()

TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::checkInheritanceChainWithoutIsA (   $targetType,
  $originalTargetType 
)
protected

This is a replacement for the functionality provided by is_a() with 3 parameters which is only available from PHP 5.3.9. It can be removed if the TYPO3 CMS PHP version requirement is raised to 5.3.9 or above.

Parameters
string$targetType
string$originalTargetType
Returns
string
Exceptions

Definition at line 238 of file ObjectConverter.php.

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

Referenced by TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter\getTargetTypeForSource().

◆ convertFrom()

TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::convertFrom (   $source,
  $targetType,
array  $convertedChildProperties = array(),
\TYPO3\CMS\Extbase\Property\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 the target type
Exceptions

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

Definition at line 143 of file ObjectConverter.php.

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

◆ getSourceChildPropertiesToBeConverted()

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

Convert all properties in the source array

Parameters
mixed$source
Returns
array

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

Definition at line 90 of file ObjectConverter.php.

◆ getTargetTypeForSource()

TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::getTargetTypeForSource (   $source,
  $originalTargetType,
\TYPO3\CMS\Extbase\Property\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

Definition at line 172 of file ObjectConverter.php.

References TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter\$targetType, and TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter\checkInheritanceChainWithoutIsA().

◆ getTypeOfChildProperty()

TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::getTypeOfChildProperty (   $targetType,
  $propertyName,
\TYPO3\CMS\Extbase\Property\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

Implements TYPO3\CMS\Extbase\Property\TypeConverterInterface.

Definition at line 106 of file ObjectConverter.php.

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

Member Data Documentation

◆ $objectContainer

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

Definition at line 65 of file ObjectConverter.php.

◆ $objectManager

TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::$objectManager
protected

Definition at line 59 of file ObjectConverter.php.

◆ $priority

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

Definition at line 53 of file ObjectConverter.php.

◆ $reflectionService

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

Definition at line 71 of file ObjectConverter.php.

◆ $sourceTypes

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

Definition at line 43 of file ObjectConverter.php.

◆ $targetType

◆ CONFIGURATION_OVERRIDE_TARGET_TYPE_ALLOWED

const TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::CONFIGURATION_OVERRIDE_TARGET_TYPE_ALLOWED = 4

Definition at line 38 of file ObjectConverter.php.

◆ CONFIGURATION_TARGET_TYPE

const TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter::CONFIGURATION_TARGET_TYPE = 3