This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/tests/Symfony/Tests/Component/Form/Fixtures/FixedDataTransformer.php
Bernhard Schussek 54e66c518f [Form] Reorganized code into "form extensions"
The extension classes are now the only constructor argument of the FormFactory class. They replace the existing "type loader" classes.

    new FormFactory(array(
        new CoreExtension($validator, $storage),
        new CsrfExtension($csrfProvider),
        new DoctrineOrmExtension($em),
    ));

Together with a few upcoming commits this mechanism will make

 * extension of the form framework in bundles and
 * usage of the forms outside of Symfony2

much easier.
2011-04-22 17:41:21 +02:00

35 lines
824 B
PHP

<?php
namespace Symfony\Tests\Component\Form\Fixtures;
use Symfony\Component\Form\DataTransformerInterface;
class FixedDataTransformer implements DataTransformerInterface
{
private $mapping;
public function __construct(array $mapping)
{
$this->mapping = $mapping;
}
public function transform($value)
{
if (!array_key_exists($value, $this->mapping)) {
throw new \RuntimeException(sprintf('No mapping for value "%s"', $value));
}
return $this->mapping[$value];
}
public function reverseTransform($value)
{
$result = array_search($value, $this->mapping, true);
if ($result === false) {
throw new \RuntimeException(sprintf('No reverse mapping for value "%s"', $value));
}
return $result;
}
}