FormDefinitionArrayConverter extends AbstractTypeConverter

Converter for form definition arrays

Internal

Table of Contents

Properties

$configurationService  : ConfigurationService
$priority  : int
The priority for this converter.
$sourceTypes  : array<string|int, string>
The source types this converter can convert.
$targetType  : string
The target type this converter can convert to.

Methods

canConvertFrom()  : bool
convertFrom()  : FormDefinitionArray
Convert from $source to $targetType, a noop if the source is an array.
getPriority()  : int
Return the priority of this TypeConverter. TypeConverters with a high priority are chosen before low priority.
getSourceChildPropertiesToBeConverted()  : array<string|int, mixed>
Return a list of sub-properties inside the source object.
getSupportedSourceTypes()  : array<string|int, string>
Returns the list of source types the TypeConverter can handle.
getSupportedTargetType()  : string
Return the target type this TypeConverter converts to.
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<string|int, mixed>
Remove keys from an array if the key value is an empty array
getBackendUser()  : BackendUserAuthentication
getFormDefinitionConversionService()  : FormDefinitionConversionService
getFormDefinitionValidationService()  : FormDefinitionValidationService
retrieveSessionToken()  : string
transformMultiValueElementsForFormFramework()  : array<string|int, mixed>
Some data which is build by the form editor needs a transformation before it can be used by the framework.

Properties

$priority

The priority for this converter.

protected int $priority = 10

$sourceTypes

The source types this converter can convert.

protected array<string|int, string> $sourceTypes = ['string']

$targetType

The target type this converter can convert to.

protected string $targetType = \TYPO3\CMS\Form\Type\FormDefinitionArray::class

Methods

canConvertFrom()

public canConvertFrom(mixed $source, string $targetType) : bool
Deprecated

will be removed in TYPO3 v13.0

Parameters
$source : mixed

the source data

$targetType : string
Return values
bool

convertFrom()

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

public convertFrom(string $source, string $targetType[, array<string|int, mixed> $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<string|int, mixed> = []
$configuration : PropertyMappingConfigurationInterface|null = null
Tags
throws
PropertyException
Return values
FormDefinitionArray

getPriority()

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

public getPriority() : int
Deprecated

will be removed in TYPO3 v13.0, as this is defined in Services.yaml.

Return values
int

getSourceChildPropertiesToBeConverted()

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

public getSourceChildPropertiesToBeConverted(mixed $source) : array<string|int, mixed>
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<string|int, mixed>

getSupportedSourceTypes()

Returns the list of source types the TypeConverter can handle.

public getSupportedSourceTypes() : array<string|int, string>
Deprecated

will be removed in TYPO3 v13.0, as this is defined in Services.yaml.

Must be PHP simple types, classes or object is not allowed.

Return values
array<string|int, string>

getSupportedTargetType()

Return the target type this TypeConverter converts to.

public getSupportedTargetType() : string
Deprecated

will be removed in TYPO3 v13.0, as this is defined in Services.yaml.

Can be a simple type or a class name.

Return values
string

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<string|int, mixed> $array) : array<string|int, mixed>
Parameters
$array : array<string|int, mixed>
Tags
todo

ArrayUtility?

Return values
array<string|int, mixed>

retrieveSessionToken()

protected retrieveSessionToken() : 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<string|int, mixed> $input) : array<string|int, mixed>

Multivalue elements like select elements produce data like:

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

This method transforms this into:

[ 'value' => 'label' ]

Parameters
$input : array<string|int, mixed>
Return values
array<string|int, mixed>

        
On this page

Search results