function FieldStorageDefinitionListener::onFieldStorageDefinitionCreate

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Field/FieldStorageDefinitionListener.php \Drupal\Core\Field\FieldStorageDefinitionListener::onFieldStorageDefinitionCreate()
  2. 8.9.x core/lib/Drupal/Core/Field/FieldStorageDefinitionListener.php \Drupal\Core\Field\FieldStorageDefinitionListener::onFieldStorageDefinitionCreate()
  3. 11.x core/lib/Drupal/Core/Field/FieldStorageDefinitionListener.php \Drupal\Core\Field\FieldStorageDefinitionListener::onFieldStorageDefinitionCreate()

Reacts to the creation of a field storage definition.

Parameters

\Drupal\Core\Field\FieldStorageDefinitionInterface $storage_definition: The definition being created.

Overrides FieldStorageDefinitionListenerInterface::onFieldStorageDefinitionCreate

File

core/lib/Drupal/Core/Field/FieldStorageDefinitionListener.php, line 78

Class

FieldStorageDefinitionListener
Reacts to field storage definition CRUD on behalf of the Entity system.

Namespace

Drupal\Core\Field

Code

public function onFieldStorageDefinitionCreate(FieldStorageDefinitionInterface $storage_definition) {
  $entity_type_id = $storage_definition->getTargetEntityTypeId();
  // @todo Forward this to all interested handlers, not only storage, once
  //   iterating handlers is possible: https://www.drupal.org/node/2332857.
  $storage = $this->entityTypeManager
    ->getStorage($entity_type_id);
  if ($storage instanceof FieldStorageDefinitionListenerInterface) {
    $storage->onFieldStorageDefinitionCreate($storage_definition);
  }
  $this->entityLastInstalledSchemaRepository
    ->setLastInstalledFieldStorageDefinition($storage_definition);
  $this->eventDispatcher
    ->dispatch(new FieldStorageDefinitionEvent($storage_definition), FieldStorageDefinitionEvents::CREATE);
  $this->entityFieldManager
    ->clearCachedFieldDefinitions();
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.