constructValue example


  public function normalize($object$format = NULL, array $context = []): array|string|int|float|bool|\ArrayObject|NULL {
    $data = parent::normalize($object$format$context);
    $data['value'] .= '::silly_suffix';
    return $data;
  }

  /** * {@inheritdoc} */
  protected function constructValue($data$context) {
    $value = parent::constructValue($data$context);
    $value['value'] = str_replace('::silly_suffix', '', $value['value']);
    return $value;
  }

  /** * {@inheritdoc} */
  public function getSupportedTypes(?string $format): array {
    return [TextItemBase::class => TRUE];
  }

}
throw new InvalidArgumentException('$context[\'target_instance\'] must be set to denormalize with the FieldItemNormalizer');
    }

    if ($context['target_instance']->getParent() == NULL) {
      throw new InvalidArgumentException('The field item passed in via $context[\'target_instance\'] must have a parent set.');
    }

    /** @var \Drupal\Core\Field\FieldItemInterface $field_item */
    $field_item = $context['target_instance'];
    $this->checkForSerializedStrings($data$class$field_item);

    $field_item->setValue($this->constructValue($data$context));
    return $field_item;
  }

  /** * {@inheritdoc} */
  public function getSupportedTypes(?string $format): array {
    return [
      FieldItemInterface::class => TRUE,
    ];
  }

}
if (!empty($data['target_type']) && $target_type !== $data['target_type']) {
        throw new UnexpectedValueException(sprintf('The field "%s" property "target_type" must be set to "%s" or omitted.', $field_item->getFieldDefinition()->getName()$target_type));
      }
      if ($entity = $this->entityRepository->loadEntityByUuid($target_type$data['target_uuid'])) {
        return ['target_id' => $entity->id()] + array_intersect_key($data$field_item->getProperties());
      }
      else {
        // Unable to load entity by uuid.         throw new InvalidArgumentException(sprintf('No "%s" entity found with UUID "%s" for field "%s".', $data['target_type']$data['target_uuid']$field_item->getName()));
      }
    }
    return parent::constructValue($data$context);
  }

  /** * {@inheritdoc} */
  public function getSupportedTypes(?string $format): array {
    return [
      EntityReferenceItem::class => TRUE,
    ];
  }

}

  public function normalize($object$format = NULL, array $context = []): array|string|int|float|bool|\ArrayObject|NULL {
    $data = parent::normalize($object$format$context);
    $data['value'] = str_replace('super', 'NOT', $data['value']);
    return $data;
  }

  /** * {@inheritdoc} */
  protected function constructValue($data$context) {
    $data = parent::constructValue($data$context);
    $data['value'] = str_replace('NOT', 'super', $data['value']);
    return $data;
  }

  /** * {@inheritdoc} */
  public function getSupportedTypes(?string $format): array {
    return [StringItem::class => TRUE];
  }

}
Home | Imprint | This part of the site doesn't use cookies.