Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Field/FieldItemBase.php \Drupal\Core\Field\FieldItemBase::__set()
  2. 9 core/lib/Drupal/Core/Field/FieldItemBase.php \Drupal\Core\Field\FieldItemBase::__set()

Magic method: Sets a property value.

Parameters

string $property_name: The name of the property to set; e.g., 'title' or 'name'.

mixed $value: The value to set, or NULL to unset the property. Optionally, a typed data object implementing Drupal\Core\TypedData\TypedDataInterface may be passed instead of a plain value.

Throws

\InvalidArgumentException If a non-existent property is set.

Overrides FieldItemInterface::__set

File

core/lib/Drupal/Core/Field/FieldItemBase.php, line 164

Class

FieldItemBase
An entity field item.

Namespace

Drupal\Core\Field

Code

public function __set($name, $value) {

  // Support setting values via property objects, but take care in as the
  // value of the 'entity' property is typed data also.
  if ($value instanceof TypedDataInterface && !$value instanceof EntityInterface) {
    $value = $value
      ->getValue();
  }
  $this
    ->set($name, $value);
}