public function EntityAdapter::set in Zircon Profile 8.0
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Entity/Plugin/DataType/EntityAdapter.php \Drupal\Core\Entity\Plugin\DataType\EntityAdapter::set()
Sets a property value.
Parameters
$property_name: The name of the property to set; e.g., 'title' or 'name'.
$value: The value to set, or NULL to unset the property.
bool $notify: (optional) Whether to notify the parent object of the change. Defaults to TRUE. If the update stems from a parent object, set it to FALSE to avoid being notified again.
Return value
$this
Throws
\InvalidArgumentException If the specified property does not exist.
\Drupal\Core\TypedData\Exception\MissingDataException If the complex data structure is unset and no property can be set.
Overrides ComplexDataInterface::set
File
- core/
lib/ Drupal/ Core/ Entity/ Plugin/ DataType/ EntityAdapter.php, line 97 - Contains \Drupal\Core\Entity\Plugin\DataType\EntityAdapter.
Class
- EntityAdapter
- Defines the "entity" data type.
Namespace
Drupal\Core\Entity\Plugin\DataTypeCode
public function set($property_name, $value, $notify = TRUE) {
if (!isset($this->entity)) {
throw new MissingDataException("Unable to set property {$property_name} as no entity has been provided.");
}
if (!$this->entity instanceof FieldableEntityInterface) {
// @todo: Add support for config entities in
// https://www.drupal.org/node/1818574.
throw new \InvalidArgumentException("Unable to set unknown property {$property_name}.");
}
// This will throw an exception for unknown fields.
$this->entity
->set($property_name, $value, $notify);
return $this;
}