class TextType extends AbstractType implements DataTransformerInterface

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.

configureOptions(OptionsResolver $resolver)

Configures the options for this type.

string
getBlockPrefix()

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

string|null
getParent()

Returns the name of the parent type.

mixed
transform($data)

Transforms a value from the original representation to a transformed representation.

mixed
reverseTransform($data)

Transforms a value from the transformed representation to its original representation.

Details

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

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

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

configureOptions(OptionsResolver $resolver)

Configures the options for this type.

Parameters

OptionsResolver $resolver The resolver for the options

string getBlockPrefix()

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

The block prefix defaults 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

string|null getParent()

Returns the name of the parent type.

Return Value

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

mixed transform($data)

Transforms a value from the original representation to a transformed representation.

This method is called on two occasions inside a form field:

  1. When the form field is initialized with the data attached from the datasource (object or array).
  2. When data from a request is submitted using {@link Form::submit()} to transform the new input data back into the renderable format. For example if you have a date field and submit '2009-10-10' you might accept this value because its easily parsed, but the transformer still writes back "2009/10/10" onto the form field (for further displaying or other purposes).

This method must be able to deal with empty values. Usually this will be NULL, but depending on your implementation other empty values are possible as well (such as empty strings). The reasoning behind this is that value transformers must be chainable. If the transform() method of the first value transformer outputs NULL, the second value transformer must be able to process that value.

By convention, transform() should return an empty string if NULL is passed.

Parameters

$data

Return Value

mixed The value in the transformed representation

Exceptions

TransformationFailedException when the transformation fails

mixed reverseTransform($data)

Transforms a value from the transformed representation to its original representation.

This method is called when {@link Form::submit()} is called to transform the requests tainted data into an acceptable format for your data processing/model layer.

This method must be able to deal with empty values. Usually this will be an empty string, but depending on your implementation other empty values are possible as well (such as NULL). The reasoning behind this is that value transformers must be chainable. If the reverseTransform() method of the first value transformer outputs an empty string, the second value transformer must be able to process that value.

By convention, reverseTransform() should return NULL if an empty string is passed.

Parameters

$data

Return Value

mixed The value in the original representation

Exceptions

TransformationFailedException when the transformation fails