class ChoiceType extends AbstractType

Constants

DEPRECATED_EMPTY_VALUE

Methods

buildForm(FormBuilderInterface $builder, array $options)

Builds the form.

buildView(FormView $view, FormInterface $form, array $options)

Builds the form view.

finishView(FormView $view, FormInterface $form, array $options)

Finishes the form view.

setDefaultOptions(OptionsResolverInterface $resolver)

Sets the default options for this type.

configureOptions(OptionsResolver $resolver)

Configures the options for this type.

string
getName()

Returns the name of this type.

string
getBlockPrefix()

Returns the prefix of the template block name for this type.

string|null|FormTypeInterface
getParent()

Returns the name of the parent type.

__construct(ChoiceListFactoryInterface $choiceListFactory = null)

No description

static array
normalizeLegacyChoices(array|Traversable $choices, object $choiceLabels, int $nextKey)

When "choicesasvalues" is set to false, the choices are in the keys and their labels in the values. Labels may occur twice. The form component flips the choices array in the new implementation, so duplicate labels are lost. Store them in a utility array that is used from the "choice_label" closure by default.

Details

at line line 66
buildForm(FormBuilderInterface $builder, array $options)

Builds the form.

This method is called for each type in the hierarchy starting from the top most type. Type extensions can further modify the form.

Parameters

FormBuilderInterface $builder The form builder
array $options The options

at line line 185
buildView(FormView $view, FormInterface $form, array $options)

Builds the form view.

This method is called for each type in the hierarchy starting from the top most type. Type extensions can further modify the view.

A view of a form is built before the views of the child forms are built. This means that you cannot access child views in this method. If you need to do so, move your logic to {@link finishView()} instead.

Parameters

FormView $view The view
FormInterface $form The form
array $options The options

at line line 244
finishView(FormView $view, FormInterface $form, array $options)

Finishes the form view.

This method gets called for each type in the hierarchy starting from the top most type. Type extensions can further modify the view.

When this method is called, views of the form's children have already been built and finished and can be accessed. You should only implement such logic in this method that actually accesses child views. For everything else you are recommended to implement {@link buildView()} instead.

Parameters

FormView $view The view
FormInterface $form The form
array $options The options

in AbstractType at line line 47
setDefaultOptions(OptionsResolverInterface $resolver)

Sets the default options for this type.

Parameters

OptionsResolverInterface $resolver The resolver for the options

at line line 264
configureOptions(OptionsResolver $resolver)

Configures the options for this type.

Parameters

OptionsResolver $resolver The resolver for the options

at line line 454
string getName()

Returns the name of this type.

Return Value

string The name of this type

at line line 462
string getBlockPrefix()

Returns the prefix of the template block name for this type.

The block prefixes default to the underscored short class name with the "Type" suffix removed (e.g. "UserProfileType" => "user_profile").

Return Value

string The prefix of the template block name

in AbstractType at line line 94
string|null|FormTypeInterface getParent()

Returns the name of the parent type.

You can also return a type instance from this method, although doing so is discouraged because it leads to a performance penalty. The support for returning type instances may be dropped from future releases.

Returning a {@link FormTypeInterface} instance is deprecated since Symfony 2.8 and will be unsupported as of Symfony 3.0. Return the fully-qualified class name of the parent type instead.

Return Value

string|null|FormTypeInterface The name of the parent type if any, null otherwise

at line line 54
__construct(ChoiceListFactoryInterface $choiceListFactory = null)

Parameters

ChoiceListFactoryInterface $choiceListFactory

at line line 551
static array normalizeLegacyChoices(array|Traversable $choices, object $choiceLabels, int $nextKey)

When "choicesasvalues" is set to false, the choices are in the keys and their labels in the values. Labels may occur twice. The form component flips the choices array in the new implementation, so duplicate labels are lost. Store them in a utility array that is used from the "choice_label" closure by default.

Parameters

array|Traversable $choices The choice labels indexed by choices
object $choiceLabels The object that receives the choice labels indexed by generated keys
int $nextKey The next generated key

Return Value

array The choices in a normalized array with labels replaced by generated keys