function EntityTestDefinitionSubscriber::onFieldStorageDefinitionUpdate

Same name in other branches
  1. 9 core/modules/system/tests/modules/entity_test/src/EntityTestDefinitionSubscriber.php \Drupal\entity_test\EntityTestDefinitionSubscriber::onFieldStorageDefinitionUpdate()
  2. 8.9.x core/modules/system/tests/modules/entity_test/src/EntityTestDefinitionSubscriber.php \Drupal\entity_test\EntityTestDefinitionSubscriber::onFieldStorageDefinitionUpdate()
  3. 10 core/modules/system/tests/modules/entity_test/src/EntityTestDefinitionSubscriber.php \Drupal\entity_test\EntityTestDefinitionSubscriber::onFieldStorageDefinitionUpdate()

Overrides FieldStorageDefinitionEventSubscriberTrait::onFieldStorageDefinitionUpdate

File

core/modules/system/tests/modules/entity_test/src/EntityTestDefinitionSubscriber.php, line 179

Class

EntityTestDefinitionSubscriber
Test entity type and field storage definition event subscriber.

Namespace

Drupal\entity_test

Code

public function onFieldStorageDefinitionUpdate(FieldStorageDefinitionInterface $storage_definition, FieldStorageDefinitionInterface $original) {
    $last_installed_definition = $this->entityLastInstalledSchemaRepository
        ->getLastInstalledFieldStorageDefinitions($storage_definition->getTargetEntityTypeId())[$storage_definition->getName()];
    if ((string) $last_installed_definition->getLabel() === 'Updated field storage test') {
        $this->storeDefinitionUpdate(FieldStorageDefinitionEvents::UPDATE);
    }
    $this->storeEvent(FieldStorageDefinitionEvents::UPDATE);
    // Retrieve the live field storage definitions in order to warm the static
    // cache and then insert the new storage definition, so we can test that the
    // cache doesn't get stale after the event has fired.
    if ($this->updateLiveDefinitions) {
        $this->entityFieldManager
            ->getFieldStorageDefinitions($storage_definition->getTargetEntityTypeId());
        $this->state
            ->set('entity_test_rev.additional_base_field_definitions', [
            $storage_definition->getName() => $storage_definition,
        ]);
    }
}

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