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.