You are here

public function ConfigEntityStorage::createFromStorageRecord in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/lib/Drupal/Core/Config/Entity/ConfigEntityStorage.php \Drupal\Core\Config\Entity\ConfigEntityStorage::createFromStorageRecord()

Creates a configuration entity from storage values.

Allows the configuration entity storage to massage storage values before creating an entity.

Parameters

array $values: The array of values from the configuration storage.

Return value

ConfigEntityInterface The configuration entity.

Overrides ConfigEntityStorageInterface::createFromStorageRecord

See also

\Drupal\Core\Entity\EntityStorageBase::mapFromStorageRecords()

\Drupal\field\FieldStorageConfigStorage::mapFromStorageRecords()

1 call to ConfigEntityStorage::createFromStorageRecord()
ConfigEntityStorage::importCreate in core/lib/Drupal/Core/Config/Entity/ConfigEntityStorage.php
Creates entities upon synchronizing configuration changes.

File

core/lib/Drupal/Core/Config/Entity/ConfigEntityStorage.php, line 432
Contains \Drupal\Core\Config\Entity\ConfigEntityStorage.

Class

ConfigEntityStorage
Defines the storage class for configuration entities.

Namespace

Drupal\Core\Config\Entity

Code

public function createFromStorageRecord(array $values) {

  // Assign a new UUID if there is none yet.
  if ($this->uuidKey && $this->uuidService && !isset($values[$this->uuidKey])) {
    $values[$this->uuidKey] = $this->uuidService
      ->generate();
  }
  $data = $this
    ->mapFromStorageRecords(array(
    $values,
  ));
  $entity = current($data);
  $entity->original = clone $entity;
  $entity
    ->enforceIsNew();
  $entity
    ->postCreate($this);

  // Modules might need to add or change the data initially held by the new
  // entity object, for instance to fill-in default values.
  $this
    ->invokeHook('create', $entity);
  return $entity;
}