diff options
Diffstat (limited to 'vendor/symfony/form/Symfony/Component/Form/Tests/Fixtures/FixedDataTransformer.php')
-rw-r--r-- | vendor/symfony/form/Symfony/Component/Form/Tests/Fixtures/FixedDataTransformer.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/vendor/symfony/form/Symfony/Component/Form/Tests/Fixtures/FixedDataTransformer.php b/vendor/symfony/form/Symfony/Component/Form/Tests/Fixtures/FixedDataTransformer.php new file mode 100644 index 00000000..a5a31248 --- /dev/null +++ b/vendor/symfony/form/Symfony/Component/Form/Tests/Fixtures/FixedDataTransformer.php | |||
@@ -0,0 +1,45 @@ | |||
1 | <?php | ||
2 | |||
3 | /* | ||
4 | * This file is part of the Symfony package. | ||
5 | * | ||
6 | * (c) Fabien Potencier <fabien@symfony.com> | ||
7 | * | ||
8 | * For the full copyright and license information, please view the LICENSE | ||
9 | * file that was distributed with this source code. | ||
10 | */ | ||
11 | |||
12 | namespace Symfony\Component\Form\Tests\Fixtures; | ||
13 | |||
14 | use Symfony\Component\Form\DataTransformerInterface; | ||
15 | use Symfony\Component\Form\Exception\RuntimeException; | ||
16 | |||
17 | class FixedDataTransformer implements DataTransformerInterface | ||
18 | { | ||
19 | private $mapping; | ||
20 | |||
21 | public function __construct(array $mapping) | ||
22 | { | ||
23 | $this->mapping = $mapping; | ||
24 | } | ||
25 | |||
26 | public function transform($value) | ||
27 | { | ||
28 | if (!array_key_exists($value, $this->mapping)) { | ||
29 | throw new RuntimeException(sprintf('No mapping for value "%s"', $value)); | ||
30 | } | ||
31 | |||
32 | return $this->mapping[$value]; | ||
33 | } | ||
34 | |||
35 | public function reverseTransform($value) | ||
36 | { | ||
37 | $result = array_search($value, $this->mapping, true); | ||
38 | |||
39 | if ($result === false) { | ||
40 | throw new RuntimeException(sprintf('No reverse mapping for value "%s"', $value)); | ||
41 | } | ||
42 | |||
43 | return $result; | ||
44 | } | ||
45 | } | ||