‪TYPO3CMS  ‪main
TYPO3\CMS\Extbase\Property\TypeConverterInterface Interface Reference
Inheritance diagram for TYPO3\CMS\Extbase\Property\TypeConverterInterface:
TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter TYPO3\CMS\Extbase\Property\TypeConverter\AbstractFileFolderConverter TYPO3\CMS\Extbase\Property\TypeConverter\ArrayConverter TYPO3\CMS\Extbase\Property\TypeConverter\BooleanConverter TYPO3\CMS\Extbase\Property\TypeConverter\CoreTypeConverter TYPO3\CMS\Extbase\Property\TypeConverter\DateTimeConverter TYPO3\CMS\Extbase\Property\TypeConverter\EnumConverter TYPO3\CMS\Extbase\Property\TypeConverter\FloatConverter TYPO3\CMS\Extbase\Property\TypeConverter\IntegerConverter TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter TYPO3\CMS\Extbase\Property\TypeConverter\ObjectStorageConverter TYPO3\CMS\Extbase\Property\TypeConverter\StringConverter TYPO3\CMS\Form\Mvc\Property\TypeConverter\FormDefinitionArrayConverter TYPO3\CMS\Form\Mvc\Property\TypeConverter\UploadedFileReferenceConverter TYPO3Tests\TypeConverterTest\Property\TypeConverter\AnimalTypeConverter TYPO3Tests\TypeConverterTest\Property\TypeConverter\CatTypeConverter TYPO3Tests\TypeConverterTest\Property\TypeConverter\CountableTypeConverter TYPO3Tests\TypeConverterTest\Property\TypeConverter\ExtendedCountableTypeConverter

Public Member Functions

 getTargetTypeForSource ($source, string $originalTargetType, PropertyMappingConfigurationInterface $configuration=null)
 
 getSourceChildPropertiesToBeConverted ($source)
 
string getTypeOfChildProperty (string $targetType, string $propertyName, PropertyMappingConfigurationInterface $configuration)
 
mixed TYPO3 CMS Extbase Error Error convertFrom ($source, string $targetType, array $convertedChildProperties=[], PropertyMappingConfigurationInterface $configuration=null)
 

Detailed Description

Interface for type converters, which can convert from a simple type to an object or another simple type.

All Type Converters should have NO INTERNAL STATE, such that they can be used as singletons and multiple times in succession (as this improves performance dramatically).

Definition at line 25 of file TypeConverterInterface.php.

Member Function Documentation

◆ convertFrom()

mixed TYPO3 CMS Extbase Error Error TYPO3\CMS\Extbase\Property\TypeConverterInterface::convertFrom (   $source,
string  $targetType,
array  $convertedChildProperties = [],
PropertyMappingConfigurationInterface  $configuration = null 
)

Actually convert from $source to $targetType, taking into account the fully built $convertedChildProperties and $configuration.

The return value can be one of three types:

  • ‪an arbitrary object, or a simple type (which has been created while mapping). This is the normal case.
  • ‪NULL, indicating that this object should not be mapped (i.e. a "File Upload" Converter could return NULL if no file has been uploaded, and a silent failure should occur.
  • ‪An instance of \TYPO3\CMS\Extbase\Error\Error – This will be a user-visible error message later on. Furthermore, it should throw an Exception if an unexpected failure (like a security error) occurred or a configuration issue happened.
Parameters
mixed$source
string$targetType
array$convertedChildProperties
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface$configuration
Returns
‪mixed|\TYPO3\CMS\Extbase\Error\Error the target type, or an error object if a user-error occurred
Exceptions

Implemented in TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter, TYPO3\CMS\Extbase\Property\TypeConverter\PersistentObjectConverter, TYPO3\CMS\Extbase\Property\TypeConverter\DateTimeConverter, TYPO3\CMS\Extbase\Property\TypeConverter\FloatConverter, TYPO3\CMS\Extbase\Property\TypeConverter\ArrayConverter, TYPO3\CMS\Extbase\Property\TypeConverter\CoreTypeConverter, TYPO3\CMS\Extbase\Property\TypeConverter\IntegerConverter, TYPO3\CMS\Extbase\Property\TypeConverter\ObjectStorageConverter, TYPO3\CMS\Extbase\Property\TypeConverter\StringConverter, TYPO3\CMS\Extbase\Property\TypeConverter\BooleanConverter, TYPO3Tests\TypeConverterTest\Property\TypeConverter\AnimalTypeConverter, TYPO3Tests\TypeConverterTest\Property\TypeConverter\CatTypeConverter, TYPO3Tests\TypeConverterTest\Property\TypeConverter\CountableTypeConverter, TYPO3Tests\TypeConverterTest\Property\TypeConverter\ExtendedCountableTypeConverter, and TYPO3\CMS\Extbase\Property\TypeConverter\AbstractFileFolderConverter.

◆ getSourceChildPropertiesToBeConverted()

TYPO3\CMS\Extbase\Property\TypeConverterInterface::getSourceChildPropertiesToBeConverted (   $source)

Return a list of sub-properties inside the source object. The "key" is the sub-property name, and the "value" is the value of the sub-property.

Parameters
mixed$source

Implemented in TYPO3\CMS\Extbase\Property\TypeConverter\PersistentObjectConverter, TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter, TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter, and TYPO3\CMS\Extbase\Property\TypeConverter\ObjectStorageConverter.

◆ getTargetTypeForSource()

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

Returns the type for a given source, depending on e.g. the __type setting or other properties.

Parameters
mixed$source‪the source data
string$originalTargetType‪the type we originally want to convert to

Implemented in TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter, and TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter.

◆ getTypeOfChildProperty()

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

Return the type of a given sub-property inside the $targetType

Returns
‪string the type of $propertyName in $targetType

Implemented in TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter, and TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter.