trait FieldInputValueNormalizerTrait in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/Field/FieldInputValueNormalizerTrait.php \Drupal\Core\Field\FieldInputValueNormalizerTrait
- 10 core/lib/Drupal/Core/Field/FieldInputValueNormalizerTrait.php \Drupal\Core\Field\FieldInputValueNormalizerTrait
A trait used to assist in the normalization of raw input field values.
@internal
Hierarchy
- trait \Drupal\Core\Field\FieldInputValueNormalizerTrait
See also
\Drupal\Core\Field\FieldConfigBase
\Drupal\Core\Field\BaseFieldDefinition
1 file declares its use of FieldInputValueNormalizerTrait
- FieldInputValueNormalizerTraitTest.php in core/tests/ Drupal/ Tests/ Core/ Field/ FieldInputValueNormalizerTraitTest.php 
File
- core/lib/ Drupal/ Core/ Field/ FieldInputValueNormalizerTrait.php, line 13 
Namespace
Drupal\Core\FieldView source
trait FieldInputValueNormalizerTrait {
  /**
   * Ensure a field value is transformed into a format keyed by delta.
   *
   * @param mixed $value
   *   The raw field value to normalize.
   * @param string $main_property_name
   *   The main field property name.
   *
   * @return array
   *   A field value normalized into a format keyed by delta.
   */
  protected static function normalizeValue(&$value, $main_property_name) {
    if (!isset($value) || $value === NULL) {
      return [];
    }
    if (!is_array($value)) {
      if ($main_property_name === NULL) {
        throw new \InvalidArgumentException('A main property is required when normalizing scalar field values.');
      }
      return [
        [
          $main_property_name => $value,
        ],
      ];
    }
    if (!empty($value) && !is_numeric(array_keys($value)[0])) {
      return [
        0 => $value,
      ];
    }
    return $value;
  }
}Members
| Name   | Modifiers | Type | Description | Overrides | 
|---|---|---|---|---|
| FieldInputValueNormalizerTrait:: | protected static | function | Ensure a field value is transformed into a format keyed by delta. | 
