Bladeren bron

[Form] Added CallbackTransformer for dynamic value transformation

Bernhard Schussek 14 jaren geleden
bovenliggende
commit
ea1ae46c17
1 gewijzigde bestanden met toevoegingen van 35 en 0 verwijderingen
  1. 35 0
      src/Symfony/Component/Form/ValueTransformer/CallbackTransformer.php

+ 35 - 0
src/Symfony/Component/Form/ValueTransformer/CallbackTransformer.php

@@ -0,0 +1,35 @@
+<?php
+
+/*
+ * This file is part of the Symfony package.
+ *
+ * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Symfony\Component\Form\ValueTransformer;
+
+class CallbackTransformer implements ValueTransformerInterface
+{
+    private $transform;
+
+    private $reverseTransform;
+
+    public function __construct(\Closure $transform, \Closure $reverseTransform)
+    {
+        $this->transform = $transform;
+        $this->reverseTransform = $reverseTransform;
+    }
+
+    public function transform($data)
+    {
+        return $this->transform->__invoke($data);
+    }
+
+    public function reverseTransform($data)
+    {
+        return $this->reverseTransform->__invoke($data);
+    }
+}