abstract class LazyChoiceList implements ChoiceListInterface

deprecated since version 2.7, to be removed in 3.0. Use {@link \Symfony\Component\Form\ChoiceList\LazyChoiceList} instead.

A choice list that is loaded lazily.

This list loads itself as soon as any of the getters is accessed for the first time. You should implement loadChoiceList() in your child classes, which should return a ChoiceListInterface instance.

Methods

array
getChoices()

Returns the list of choices.

array
getValues()

Returns the values for the choices.

array
getPreferredViews()

Returns the choice views of the preferred choices as nested array with the choice groups as top-level keys.

array
getRemainingViews()

Returns the choice views of the choices that are not preferred as nested array with the choice groups as top-level keys.

array
getChoicesForValues(array $values)

Returns the choices corresponding to the given values.

array
getValuesForChoices(array $choices)

Returns the values corresponding to the given choices.

array
getIndicesForChoices(array $choices) deprecated

Returns the indices corresponding to the given choices.

array
getIndicesForValues(array $values) deprecated

Returns the indices corresponding to the given values.

loadChoiceList()

Loads the choice list.

Details

at line 42
array getChoices()

Returns the list of choices.

Return Value

array The choices with their indices as keys

at line 54
array getValues()

Returns the values for the choices.

Return Value

array The values with the corresponding choice indices as keys

at line 66
array getPreferredViews()

Returns the choice views of the preferred choices as nested array with the choice groups as top-level keys.

Example:

array( 'Group 1' => array( 10 => ChoiceView object, 20 => ChoiceView object, ), 'Group 2' => array( 30 => ChoiceView object, ), )

Return Value

array A nested array containing the views with the corresponding choice indices as keys on the lowest levels and the choice group names in the keys of the higher levels

at line 78
array getRemainingViews()

Returns the choice views of the choices that are not preferred as nested array with the choice groups as top-level keys.

Example:

array( 'Group 1' => array( 10 => ChoiceView object, 20 => ChoiceView object, ), 'Group 2' => array( 30 => ChoiceView object, ), )

Return Value

array A nested array containing the views with the corresponding choice indices as keys on the lowest levels and the choice group names in the keys of the higher levels

at line 90
array getChoicesForValues(array $values)

Returns the choices corresponding to the given values.

The choices can have any data type.

The choices must be returned with the same keys and in the same order as the corresponding values in the given array.

Parameters

array $values An array of choice values. Not existing values in this array are ignored

Return Value

array An array of choices with ascending, 0-based numeric keys

at line 102
array getValuesForChoices(array $choices)

Returns the values corresponding to the given choices.

The values must be strings.

The values must be returned with the same keys and in the same order as the corresponding choices in the given array.

Parameters

array $choices An array of choices. Not existing choices in this array are ignored

Return Value

array An array of choice values with ascending, 0-based numeric keys

at line 116
array getIndicesForChoices(array $choices) deprecated

deprecated since version 2.4, to be removed in 3.0.

Returns the indices corresponding to the given choices.

The indices must be positive integers or strings accepted by {@link \Symfony\Component\Form\FormConfigBuilder::validateName()}.

The index "placeholder" is internally reserved.

The indices must be returned with the same keys and in the same order as the corresponding choices in the given array.

Parameters

array $choices An array of choices. Not existing choices in this array are ignored

Return Value

array An array of indices with ascending, 0-based numeric keys

at line 132
array getIndicesForValues(array $values) deprecated

deprecated since version 2.4, to be removed in 3.0.

Returns the indices corresponding to the given values.

The indices must be positive integers or strings accepted by {@link \Symfony\Component\Form\FormConfigBuilder::validateName()}.

The index "placeholder" is internally reserved.

The indices must be returned with the same keys and in the same order as the corresponding values in the given array.

Parameters

array $values An array of choice values. Not existing values in this array are ignored

Return Value

array An array of indices with ascending, 0-based numeric keys

at line 150
abstract protected ChoiceListInterface loadChoiceList()

Loads the choice list.

Should be implemented by child classes.

Return Value

ChoiceListInterface The loaded choice list