public function EntityTestDefinitionSubscriber::onFieldStorageDefinitionCreate in Drupal 8
Same name and namespace in other branches
- 9 core/modules/system/tests/modules/entity_test/src/EntityTestDefinitionSubscriber.php \Drupal\entity_test\EntityTestDefinitionSubscriber::onFieldStorageDefinitionCreate()
Reacts to the creation of a field storage definition.
Parameters
\Drupal\Core\Field\FieldStorageDefinitionInterface $storage_definition: The definition being created.
Overrides FieldStorageDefinitionEventSubscriberTrait::onFieldStorageDefinitionCreate
File
- core/
modules/ system/ tests/ modules/ entity_test/ src/ EntityTestDefinitionSubscriber.php, line 159
Class
- EntityTestDefinitionSubscriber
- Test entity type and field storage definition event subscriber.
Namespace
Drupal\entity_testCode
public function onFieldStorageDefinitionCreate(FieldStorageDefinitionInterface $storage_definition) {
if (isset($this->entityLastInstalledSchemaRepository
->getLastInstalledFieldStorageDefinitions($storage_definition
->getTargetEntityTypeId())[$storage_definition
->getName()])) {
$this
->storeDefinitionUpdate(FieldStorageDefinitionEvents::CREATE);
}
$this
->storeEvent(FieldStorageDefinitionEvents::CREATE);
// 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,
]);
}
}