function EntityTypeListener::onEntityTypeDelete
Same name in other branches
- 9 core/lib/Drupal/Core/Entity/EntityTypeListener.php \Drupal\Core\Entity\EntityTypeListener::onEntityTypeDelete()
- 8.9.x core/lib/Drupal/Core/Entity/EntityTypeListener.php \Drupal\Core\Entity\EntityTypeListener::onEntityTypeDelete()
- 10 core/lib/Drupal/Core/Entity/EntityTypeListener.php \Drupal\Core\Entity\EntityTypeListener::onEntityTypeDelete()
Overrides EntityTypeListenerInterface::onEntityTypeDelete
File
-
core/
lib/ Drupal/ Core/ Entity/ EntityTypeListener.php, line 129
Class
- EntityTypeListener
- Reacts to entity type CRUD on behalf of the Entity system.
Namespace
Drupal\Core\EntityCode
public function onEntityTypeDelete(EntityTypeInterface $entity_type) {
$entity_type_id = $entity_type->id();
// An entity type can be deleted even when its live (in-code) definition has
// been removed from the codebase, so we need to instantiate a custom
// storage handler that uses the passed-in entity type definition.
$storage = $this->entityTypeManager
->createHandlerInstance($entity_type->getStorageClass(), $entity_type);
// @todo Forward this to all interested handlers, not only storage, once
// iterating handlers is possible: https://www.drupal.org/node/2332857.
if ($storage instanceof EntityTypeListenerInterface) {
$storage->onEntityTypeDelete($entity_type);
}
$this->entityLastInstalledSchemaRepository
->deleteLastInstalledDefinition($entity_type_id);
$this->eventDispatcher
->dispatch(new EntityTypeEvent($entity_type), EntityTypeEvents::DELETE);
$this->clearCachedDefinitions();
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.