Symfony2 API
Class

Symfony\Component\Form\CallbackTransformer

class CallbackTransformer implements DataTransformerInterface

Methods

__construct(Closure $transform, Closure $reverseTransform)

Constructor.

mixed transform(mixed $data)

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

mixed reverseTransform(mixed $data)

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

Details

at line 34
public __construct(Closure $transform, Closure $reverseTransform)

Constructor.

Parameters

Closure $transform The forward transform callback
Closure $reverseTransform The reverse transform callback

at line 50
public mixed transform(mixed $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 bound using {@link Form::bind()} to transform the new input data
back into the renderable format. For example if you have a date field and bind '2009-10-10' onto
it 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

mixed $data The value in the original representation

Return Value

mixed The value in the transformed representation

Exceptions

UnexpectedTypeException when the argument is not a string
TransformationFailedException when the transformation fails

at line 66
public mixed reverseTransform(mixed $data)

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

This method is called when {@link Form::bind()} 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 empty strings). 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

mixed $data The value in the transformed representation

Return Value

mixed The value in the original representation

Exceptions

UnexpectedTypeException when the argument is not of the expected type
TransformationFailedException when the transformation fails