You are here

public function BaseFieldDefinition::setDefaultValue in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/Field/BaseFieldDefinition.php \Drupal\Core\Field\BaseFieldDefinition::setDefaultValue()

File

core/lib/Drupal/Core/Field/BaseFieldDefinition.php, line 483
Contains \Drupal\Core\Field\BaseFieldDefinition.

Class

BaseFieldDefinition
A class for defining entity fields.

Namespace

Drupal\Core\Field

Code

public function setDefaultValue($value) {
  if ($value === NULL) {
    $value = [];
  }

  // Unless the value is an empty array, we may need to transform it.
  if (!is_array($value) || !empty($value)) {
    if (!is_array($value)) {
      $value = array(
        array(
          $this
            ->getMainPropertyName() => $value,
        ),
      );
    }
    elseif (is_array($value) && !is_numeric(array_keys($value)[0])) {
      $value = array(
        0 => $value,
      );
    }
  }
  $this->definition['default_value'] = $value;
  return $this;
}