vendor/dachcom-digital/formbuilder/src/FormBuilderBundle/Form/Data/FormData.php line 8

Open in your IDE?
  1. <?php
  2. namespace FormBuilderBundle\Form\Data;
  3. use FormBuilderBundle\Model\FormDefinitionInterface;
  4. use FormBuilderBundle\Stream\File;
  5. class FormData implements FormDataInterface
  6. {
  7.     protected FormDefinitionInterface $formDefinition;
  8.     protected array $data = [];
  9.     protected array $attachments = [];
  10.     public function __construct(FormDefinitionInterface $formDefinition)
  11.     {
  12.         $this->formDefinition $formDefinition;
  13.     }
  14.     public function getFormDefinition(): FormDefinitionInterface
  15.     {
  16.         return $this->formDefinition;
  17.     }
  18.     public function getData(): array
  19.     {
  20.         return $this->data;
  21.     }
  22.     public function hasAttachments(): bool
  23.     {
  24.         return count($this->attachments) > 0;
  25.     }
  26.     public function getAttachments(): array
  27.     {
  28.         return array_values($this->attachments);
  29.     }
  30.     public function addAttachment(File $attachmentFile): void
  31.     {
  32.         if (array_key_exists($attachmentFile->getId(), $this->attachments)) {
  33.             return;
  34.         }
  35.         $this->attachments[$attachmentFile->getId()] = $attachmentFile;
  36.     }
  37.     public function getFieldValue(string $name): mixed
  38.     {
  39.         $array $this->getData();
  40.         if (isset($array[$name])) {
  41.             return $array[$name];
  42.         }
  43.         return null;
  44.     }
  45.     public function setFieldValue(string $name$value): void
  46.     {
  47.         $this->data[$name] = $value;
  48.     }
  49.     public function __set(string $namemixed $value)
  50.     {
  51.         $this->data[$name] = $value;
  52.     }
  53.     public function __isset(string $name): bool
  54.     {
  55.         if (!is_string($name)) {
  56.             return false;
  57.         }
  58.         $data $this->getData();
  59.         return isset($data[$name]);
  60.     }
  61.     public function __get(string $name): mixed
  62.     {
  63.         return $this->getFieldValue($name);
  64.     }
  65. }