Data transformer for SF form. Transforms delimited to string to array and vice-versa

0.1 2014-10-11 06:33 UTC

This package is auto-updated.

Last update: 2024-06-11 01:58:20 UTC


Build Status

This is a data transformer for the Symfony form framework.

It is meant for transforming text fields containing delimited strings to arrays.


You can use the data transformer as follows:

    $builder->create('tags', 'text')->addModelTransformer(
        new ArrayToDelimitedStringTransformer()

This will transform the tags text field as follows:

// Tranform
array('one', 'two', 'three', 'four') === 'one, two, three, four'

// Reverse transform
'   one ,  two    , three, four,' === array('one', 'two', 'three', 'four')

Changing the delimiter

You can change the delimiting string with the first constructor argument:

new ArrayToDelimitedStringTransformer(';')

Will result in:

// Transform
array('one', 'two', 'three', 'four') === 'one; two; three; four'

// Reverse Transform
'one   ; two;three ;     four' => array('one', 'two', 'three')

Output padding

Additionally you can change the way in which the output is formatted with by setting the amount of whitespace (padding) before and after the text elements produced by a transformation:

new ArrayToDelimitedStringTransformer('%', 1, 1)

Will result in:

// Transform
array('one', 'two', 'three', 'four') === 'one % two % three % four'

// Reverse Transform
'one   % two%three %     four' => array('one', 'two', 'three')