PHP Interface Neos\Flow\Property\TypeConverterInterface

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).
Datei anzeigen Open project: neos/flow-development-collection Interface Usage Examples

Public Methods

Method Description
canConvertFrom ( mixed $source, string $targetType ) : boolean Here, the TypeConverter can do some additional runtime checks to see whether it can handle the given source data and the given target type.
convertFrom ( mixed $source, string $targetType, array $convertedChildProperties = [], Neos\Flow\Property\PropertyMappingConfigurationInterface $configuration = null ) : mixed | Neos\Error\Messages\Error Actually convert from $source to $targetType, taking into account the fully built $convertedChildProperties and $configuration.
getPriority ( ) : integer Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.
getSourceChildPropertiesToBeConverted ( mixed $source ) : array Return a list of sub-properties inside the source object.
getSupportedSourceTypes ( ) : array Returns the list of source types the TypeConverter can handle.
getSupportedTargetType ( ) : string Return the target type this TypeConverter converts to.
getTargetTypeForSource ( mixed $source, string $originalTargetType, Neos\Flow\Property\PropertyMappingConfigurationInterface $configuration = null ) : string Returns the type for a given source, depending on e.g. the __type setting or other properties.
getTypeOfChildProperty ( string $targetType, string $propertyName, Neos\Flow\Property\PropertyMappingConfigurationInterface $configuration ) : string Return the type of a given sub-property inside the $targetType

Method Details

canConvertFrom() public method

Here, the TypeConverter can do some additional runtime checks to see whether it can handle the given source data and the given target type.
public canConvertFrom ( mixed $source, string $targetType ) : boolean
$source mixed the source data
$targetType string the type to convert to.
return boolean TRUE if this TypeConverter can convert from $source to $targetType, FALSE otherwise.

convertFrom() public method

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 \Neos\Error\Messages\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.
public convertFrom ( mixed $source, string $targetType, array $convertedChildProperties = [], Neos\Flow\Property\PropertyMappingConfigurationInterface $configuration = null ) : mixed | Neos\Error\Messages\Error
$source mixed
$targetType string
$convertedChildProperties array
$configuration Neos\Flow\Property\PropertyMappingConfigurationInterface
return mixed | Neos\Error\Messages\Error the target type, or an error object if a user-error occurred

getPriority() public method

Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.
public getPriority ( ) : integer
return integer

getSourceChildPropertiesToBeConverted() public method

The "key" is the sub-property name, and the "value" is the value of the sub-property.
public getSourceChildPropertiesToBeConverted ( mixed $source ) : array
$source mixed
return array

getSupportedSourceTypes() public method

Must be PHP simple types, classes or object is not allowed.
public getSupportedSourceTypes ( ) : array
return array

getSupportedTargetType() public method

Can be a simple type or a class name.
public getSupportedTargetType ( ) : string
return string

getTargetTypeForSource() public method

Returns the type for a given source, depending on e.g. the __type setting or other properties.
public getTargetTypeForSource ( mixed $source, string $originalTargetType, Neos\Flow\Property\PropertyMappingConfigurationInterface $configuration = null ) : string
$source mixed the source data
$originalTargetType string the type we originally want to convert to
$configuration Neos\Flow\Property\PropertyMappingConfigurationInterface
return string

getTypeOfChildProperty() public method

Return the type of a given sub-property inside the $targetType
public getTypeOfChildProperty ( string $targetType, string $propertyName, Neos\Flow\Property\PropertyMappingConfigurationInterface $configuration ) : string
$targetType string
$propertyName string
$configuration Neos\Flow\Property\PropertyMappingConfigurationInterface
return string the type of $propertyName in $targetType