TYPO3 CMS  TYPO3_7-6
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\AbstractFileCollectionConverter 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\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\Domain\Property\TypeConverter\ArrayToValidationElementConverter

Public Member Functions

 getSupportedSourceTypes ()
 
 getSupportedTargetType ()
 
 getTargetTypeForSource ($source, $originalTargetType, PropertyMappingConfigurationInterface $configuration=null)
 
 getPriority ()
 
 canConvertFrom ($source, $targetType)
 
 getSourceChildPropertiesToBeConverted ($source)
 
 getTypeOfChildProperty ($targetType, $propertyName, \TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface $configuration)
 
 convertFrom ($source, $targetType, array $convertedChildProperties=[], \TYPO3\CMS\Extbase\Property\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 30 of file TypeConverterInterface.php.

Member Function Documentation

◆ canConvertFrom()

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

Here, the TypeConverter can do some additional runtime checks to see whether it can handle the given source data and the given target type.

Parameters
mixed$sourcethe source data
string$targetTypethe type to convert to.
Returns
bool TRUE if this TypeConverter can convert from $source to $targetType, FALSE otherwise.

Implemented in TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter, TYPO3\CMS\Extbase\Property\TypeConverter\DateTimeConverter, TYPO3\CMS\Extbase\Property\TypeConverter\ObjectConverter, TYPO3\CMS\Extbase\Property\TypeConverter\PersistentObjectConverter, TYPO3\CMS\Extbase\Property\TypeConverter\CoreTypeConverter, TYPO3\CMS\Extbase\Property\TypeConverter\ArrayConverter, and TYPO3\CMS\Form\Domain\Property\TypeConverter\ArrayToValidationElementConverter.

◆ convertFrom()

TYPO3\CMS\Extbase\Property\TypeConverterInterface::convertFrom (   $source,
  $targetType,
array  $convertedChildProperties = [],
\TYPO3\CMS\Extbase\Property\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 – 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| 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\ArrayConverter, TYPO3\CMS\Extbase\Property\TypeConverter\CoreTypeConverter, TYPO3\CMS\Extbase\Property\TypeConverter\ObjectStorageConverter, TYPO3\CMS\Extbase\Property\TypeConverter\FloatConverter, TYPO3\CMS\Extbase\Property\TypeConverter\StringConverter, TYPO3\CMS\Extbase\Property\TypeConverter\BooleanConverter, and TYPO3\CMS\Extbase\Property\TypeConverter\IntegerConverter.

Referenced by TYPO3\CMS\Form\Domain\Property\TypeConverter\ArrayToValidationElementConverter\canConvertFrom(), TYPO3\CMS\Extbase\Property\TypeConverter\AbstractFileCollectionConverter\injectFileFactory(), and TYPO3\CMS\Extbase\Property\TypeConverter\AbstractFileFolderConverter\injectFileFactory().

◆ getPriority()

TYPO3\CMS\Extbase\Property\TypeConverterInterface::getPriority ( )

Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.

Returns
int

Implemented in TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter.

◆ 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
Returns
array<mixed>

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

◆ getSupportedSourceTypes()

TYPO3\CMS\Extbase\Property\TypeConverterInterface::getSupportedSourceTypes ( )

Returns the list of source types the TypeConverter can handle. Must be PHP simple types, classes or object is not allowed.

Returns
array<string>

Implemented in TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter.

◆ getSupportedTargetType()

TYPO3\CMS\Extbase\Property\TypeConverterInterface::getSupportedTargetType ( )

Return the target type this TypeConverter converts to. Can be a simple type or a class name.

Returns
string

Implemented in TYPO3\CMS\Extbase\Property\TypeConverter\AbstractTypeConverter.

◆ getTargetTypeForSource()

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

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

Parameters
mixed$sourcethe source data
string$originalTargetTypethe type we originally want to convert to
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface$configuration
Returns
string

◆ getTypeOfChildProperty()

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

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

Parameters
string$targetType
string$propertyName
\TYPO3\CMS\Extbase\Property\PropertyMappingConfigurationInterface$configuration
Returns
string the type of $propertyName in $targetType

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