public BaseFieldDefinition::getDefaultValue(FieldableEntityInterface $entity)
Returns the default value for the field in a newly created entity.
This method computes the runtime default value for a field in a given entity. To access the raw properties assigned to the field definition, ::getDefaultValueLiteral() or ::getDefaultValueCallback() should be used instead.
Parameters
\Drupal\Core\Entity\FieldableEntityInterface $entity: The entity for which the default value is generated.
Return value
array The default value for the field, as a numerically indexed array of items, each item being a property/value array (array() for no default value).
Overrides FieldDefinitionInterface::getDefaultValue
See also
FieldDefinitionInterface::getDefaultValueLiteral()
FieldDefinitionInterface::getDefaultValueCallback()
File
- core/lib/Drupal/Core/Field/BaseFieldDefinition.php, line 454
Class
- BaseFieldDefinition
- A class for defining entity fields.
Namespace
Drupal\Core\Field
Code
public function getDefaultValue(FieldableEntityInterface $entity) { // Allow custom default values function. if ($callback = $this->getDefaultValueCallback()) { $value = call_user_func($callback, $entity, $this); } else { $value = $this->getDefaultValueLiteral(); } // Normalize into the "array keyed by delta" format. if (isset($value) && !is_array($value)) { $properties = $this->getPropertyNames(); $property = reset($properties); $value = array( array($property => $value), ); } // Allow the field type to process default values. $field_item_list_class = $this->getClass(); return $field_item_list_class::processDefaultValue($value, $entity, $this); }
Please login to continue.