transform() public method

This method is called on two occasions inside a form field: 1. When the form field is initialized with the data attached from the datasource (object or array). 2. When data from a request is bound using {@link Form::bind()} to transform the new input data back into the renderable format. For example if you have a date field and bind '2009-10-10' onto it you might accept this value because its easily parsed, but the transformer still writes back "2009/10/10" onto the form field (for further displaying or other purposes). This method must be able to deal with empty values. Usually this will be NULL, but depending on your implementation other empty values are possible as well (such as empty strings). The reasoning behind this is that value transformers must be chainable. If the transform() method of the first value transformer outputs NULL, the second value transformer must be able to process that value. By convention, transform() should return an empty string if NULL is passed.
public transform ( mixed $value ) : mixed
$value mixed The value in the original representation
return mixed The value in the transformed representation
Exemplo n.º 1
0
 /**
  * {@inheritDoc}
  */
 public function transform($values)
 {
     $this->assertTransformationValueType($values, Collection::class);
     return $values->map(function ($value) {
         return $this->decoratedTransformer->transform($value);
     });
 }
 function it_transforms_recursively_using_configured_transformer(DataTransformerInterface $decoratedTransformer)
 {
     $decoratedTransformer->transform('ABC')->willReturn('abc');
     $decoratedTransformer->transform('CDE')->willReturn('cde');
     $decoratedTransformer->transform('FGH')->willReturn('fgh');
     $this->transform(new ArrayCollection(['ABC', 'CDE', 'FGH']))->shouldBeLike(new ArrayCollection(['abc', 'cde', 'fgh']));
 }
Exemplo n.º 3
0
 /**
  * Transforms a collection of recipients into a string
  *
  * @param Collection $recipients
  *
  * @return string
  */
 public function transform($recipients)
 {
     if ($recipients->count() == 0) {
         return "";
     }
     $usernames = array();
     foreach ($recipients as $recipient) {
         $usernames[] = $this->userToUsernameTransformer->transform($recipient);
     }
     return implode(', ', $usernames);
 }
Exemplo n.º 4
0
 /**
  * @param Email  $email
  * @param string $importance
  */
 protected function processImportance(Email $email, $importance)
 {
     if ($email->getId()) {
         if ($email->getImportance() != $importance) {
             throw $this->createInvalidPropertyException('Importance', $this->emailImportanceTransformer->transform($email->getImportance()), $this->emailImportanceTransformer->transform($importance));
         }
     } else {
         $email->setImportance($importance);
     }
 }
 /**
  * {@inheritdoc}
  */
 public function transform($value)
 {
     return $this->baseTransformer->transform($value);
 }
 public function testTransformWithArrayValue()
 {
     $this->assertSame('TEST', $this->transformer->transform(array('test')));
 }
 /**
  * @test
  * @expectedException \Symfony\Component\Form\Exception\TransformationFailedException
  * @expectedExceptionMessage invalid path
  */
 public function testTransformInvalidPath()
 {
     $this->transformer->transform($this->getFile('invalid path'));
 }