You are here

public function EntityFieldManager::clearCachedFieldDefinitions in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Entity/EntityFieldManager.php \Drupal\Core\Entity\EntityFieldManager::clearCachedFieldDefinitions()
  2. 10 core/lib/Drupal/Core/Entity/EntityFieldManager.php \Drupal\Core\Entity\EntityFieldManager::clearCachedFieldDefinitions()

Clears static and persistent field definition caches.

Overrides EntityFieldManagerInterface::clearCachedFieldDefinitions

File

core/lib/Drupal/Core/Entity/EntityFieldManager.php, line 596

Class

EntityFieldManager
Manages the discovery of entity fields.

Namespace

Drupal\Core\Entity

Code

public function clearCachedFieldDefinitions() {
  $this->baseFieldDefinitions = [];
  $this->fieldDefinitions = [];
  $this->fieldStorageDefinitions = [];
  $this->activeFieldStorageDefinitions = [];
  $this->fieldMap = [];
  $this->fieldMapByFieldType = [];
  $this->entityDisplayRepository
    ->clearDisplayModeInfo();
  $this->extraFields = [];
  Cache::invalidateTags([
    'entity_field_info',
  ]);

  // The typed data manager statically caches prototype objects with injected
  // definitions, clear those as well.
  $this->typedDataManager
    ->clearCachedDefinitions();
}