function EntityTypeListener::onFieldableEntityTypeUpdate
Same name in other branches
- 9 core/lib/Drupal/Core/Entity/EntityTypeListener.php \Drupal\Core\Entity\EntityTypeListener::onFieldableEntityTypeUpdate()
- 8.9.x core/lib/Drupal/Core/Entity/EntityTypeListener.php \Drupal\Core\Entity\EntityTypeListener::onFieldableEntityTypeUpdate()
- 11.x core/lib/Drupal/Core/Entity/EntityTypeListener.php \Drupal\Core\Entity\EntityTypeListener::onFieldableEntityTypeUpdate()
File
-
core/
lib/ Drupal/ Core/ Entity/ EntityTypeListener.php, line 152
Class
- EntityTypeListener
- Reacts to entity type CRUD on behalf of the Entity system.
Namespace
Drupal\Core\EntityCode
public function onFieldableEntityTypeUpdate(EntityTypeInterface $entity_type, EntityTypeInterface $original, array $field_storage_definitions, array $original_field_storage_definitions, ?array &$sandbox = NULL) {
$entity_type_id = $entity_type->id();
// @todo Forward this to all interested handlers, not only storage, once
// iterating handlers is possible: https://www.drupal.org/node/2332857.
$storage = $this->entityTypeManager
->createHandlerInstance($entity_type->getStorageClass(), $entity_type);
if ($storage instanceof EntityTypeListenerInterface) {
$storage->onFieldableEntityTypeUpdate($entity_type, $original, $field_storage_definitions, $original_field_storage_definitions, $sandbox);
}
if ($sandbox === NULL || isset($sandbox['#finished']) && $sandbox['#finished'] == 1) {
$this->entityLastInstalledSchemaRepository
->setLastInstalledDefinition($entity_type);
if ($entity_type->entityClassImplements(FieldableEntityInterface::class)) {
$this->entityLastInstalledSchemaRepository
->setLastInstalledFieldStorageDefinitions($entity_type_id, $field_storage_definitions);
}
$this->eventDispatcher
->dispatch(new EntityTypeEvent($entity_type, $original), EntityTypeEvents::UPDATE);
$this->clearCachedDefinitions();
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.