Source of file BooleanOrNullTransformer.php
Size: 1,217 Bytes - Last Modified: 2023-11-16T22:56:03+01:00
/home/websites/teicee/packagist/site/phpdoc/conf/../vendor/teicee/form-bundle/src/Form/DataTransformer/BooleanOrNullTransformer.php
| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | <?phpnamespace TIC\FormBundle\Form\DataTransformer; use Symfony\Component\Form\DataTransformerInterface; use Symfony\Component\Form\Exception\TransformationFailedException; /** * Conversion pour valeur booléenne à 3 niveau (vrai/faux/null). */class BooleanOrNullTransformer implements DataTransformerInterface {private $values = array( 'null' => '', 'false' => '0', 'true' => '1', ); private $nullable; public function __construct($notnull = null) { $this->nullable = empty($notnull); } /** * Transforms from DB value to form value. * @param mixed $value * @return String */public function transform($value) { if ($this->nullable && $value === null) return $this->values['null']; return empty($value) ? $this->values['false'] : $this->values['true']; } /** * Reverse transforms form value to db value. * @param mixed $value * @return Boolean|Null */public function reverseTransform($value) { if ($value === null || $value === $this->values['null']) return $this->nullable ? null : false; if ($value === $this->values['false']) return false; if ($value === $this->values['true']) return true; return empty($value) ? false : true; } } |