FormDefinitionArrayConverter extends AbstractTypeConverter

Converter for form definition arrays

Internal

Table of Contents

Properties

$configurationService  : ConfigurationService

Methods

convertFrom()  : FormDefinitionArray
Convert from $source to $targetType, a noop if the source is an array.
getSourceChildPropertiesToBeConverted()  : array
Return a list of sub-properties inside the source object.
getTargetTypeForSource()  : string
Returns the type for a given source, depending on e.g. the __type setting or other properties.
getTypeOfChildProperty()  : string
Return the type of a given sub-property inside the $targetType
filterEmptyArrays()  : array
Remove keys from an array if the key value is an empty array
getFormDefinitionConversionService()  : FormDefinitionConversionService
getFormDefinitionValidationService()  : FormDefinitionValidationService
retrieveSessionToken()  : string
transformMultiValueElementsForFormFramework()  : array
Some data which is build by the form editor needs a transformation before it can be used by the framework.

Properties

Methods

convertFrom()

Convert from $source to $targetType, a noop if the source is an array.

public convertFrom(string $source, string $targetType[, array $convertedChildProperties = [] ][, PropertyMappingConfigurationInterface|null $configuration = null ]) : FormDefinitionArray

If it is an empty string it will be converted to an empty array.

Parameters
$source : string
$targetType : string
$convertedChildProperties : array = []
$configuration : PropertyMappingConfigurationInterface|null = null
Tags
throws
PropertyException
Return values
FormDefinitionArray

getSourceChildPropertiesToBeConverted()

Return a list of sub-properties inside the source object.

public getSourceChildPropertiesToBeConverted(mixed $source) : array
Parameters
$source : mixed
Tags
todo

this method is only used for converter sources that have children (i.e. objects). Introduce another ChildPropertyAwareTypeConverterInterface and drop this method from the main interface

Returns an empty list of sub property names

Return values
array

getTargetTypeForSource()

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

public getTargetTypeForSource(mixed $source, string $originalTargetType[, PropertyMappingConfigurationInterface|null $configuration = null ]) : string
Parameters
$source : mixed

the source data

$originalTargetType : string

the type we originally want to convert to

$configuration : PropertyMappingConfigurationInterface|null = null
Tags
todo

The concept of this method is flawed because it enables the override of the target type depending on the structure of the source. So, technically we no longer convert type A to B but source of type A with structure X to type B defined by X. This makes a type converter non-deterministic.

Returns the $originalTargetType unchanged in this implementation.

Return values
string

getTypeOfChildProperty()

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

public getTypeOfChildProperty(string $targetType, string $propertyName, PropertyMappingConfigurationInterface $configuration) : string
Parameters
$targetType : string
$propertyName : string
$configuration : PropertyMappingConfigurationInterface
Tags
todo

this method is only used for converter sources that have children (i.e. objects). Introduce another ChildPropertyAwareTypeConverterInterface and drop this method from the main interface

This method is never called, as getSourceChildPropertiesToBeConverted() returns an empty array.

Return values
string —

the type of $propertyName in $targetType

filterEmptyArrays()

Remove keys from an array if the key value is an empty array

protected filterEmptyArrays(array $array) : array
Parameters
$array : array
Tags
todo

ArrayUtility?

Return values
array

retrieveSessionToken()

protected retrieveSessionToken(string $formPersistenceIdentifier) : string
Parameters
$formPersistenceIdentifier : string
Return values
string

transformMultiValueElementsForFormFramework()

Some data which is build by the form editor needs a transformation before it can be used by the framework.

protected transformMultiValueElementsForFormFramework(array $input) : array

Multivalue elements like select elements produce data like:

[ _label => 'label' _value => 'value' ]

This method transforms this into:

[ 'value' => 'label' ]

Parameters
$input : array
Return values
array
On this page

Search results