vendor/shopware/core/Framework/DataAbstractionLayer/FieldSerializer/EmailFieldSerializer.php line 30

Open in your IDE?
  1. <?php declare(strict_types=1);
  2. namespace Shopware\Core\Framework\DataAbstractionLayer\FieldSerializer;
  3. use Shopware\Core\Framework\DataAbstractionLayer\Exception\InvalidSerializerFieldException;
  4. use Shopware\Core\Framework\DataAbstractionLayer\Field\EmailField;
  5. use Shopware\Core\Framework\DataAbstractionLayer\Field\Field;
  6. use Shopware\Core\Framework\DataAbstractionLayer\Field\Flag\Required;
  7. use Shopware\Core\Framework\DataAbstractionLayer\Write\DataStack\KeyValuePair;
  8. use Shopware\Core\Framework\DataAbstractionLayer\Write\EntityExistence;
  9. use Shopware\Core\Framework\DataAbstractionLayer\Write\WriteParameterBag;
  10. use Symfony\Component\Validator\Constraints\Email;
  11. use Symfony\Component\Validator\Constraints\NotBlank;
  12. /**
  13.  * @deprecated tag:v6.5.0 - reason:becomes-internal - Will be internal
  14.  */
  15. class EmailFieldSerializer extends AbstractFieldSerializer
  16. {
  17.     public function encode(
  18.         Field $field,
  19.         EntityExistence $existence,
  20.         KeyValuePair $data,
  21.         WriteParameterBag $parameters
  22.     ): \Generator {
  23.         if (!$field instanceof EmailField) {
  24.             throw new InvalidSerializerFieldException(EmailField::class, $field);
  25.         }
  26.         $this->validateIfNeeded($field$existence$data$parameters);
  27.         yield $field->getStorageName() => $data->getValue();
  28.     }
  29.     /**
  30.      * @return string|null
  31.      *
  32.      * @deprecated tag:v6.5.0 - reason:return-type-change - The return type will be native typed
  33.      */
  34.     public function decode(Field $field$value)/*: ?string*/
  35.     {
  36.         return $value;
  37.     }
  38.     protected function getConstraints(Field $field): array
  39.     {
  40.         $constraints = [new Email()];
  41.         if ($field->is(Required::class)) {
  42.             $constraints[] = new NotBlank();
  43.         }
  44.         return $constraints;
  45.     }
  46. }