You are here

public function AliasManager::cacheClear in Drupal 9

Clears the static caches in alias manager and rebuilds the whitelist.

Parameters

$source: Source path of the alias that is being inserted/updated. If omitted, the entire lookup static cache will be cleared and the whitelist will be rebuilt.

Overrides AliasManagerInterface::cacheClear

File

core/modules/path_alias/src/AliasManager.php, line 253

Class

AliasManager
The default alias manager implementation.

Namespace

Drupal\path_alias

Code

public function cacheClear($source = NULL) {

  // Note this method does not flush the preloaded path lookup cache. This is
  // because if a path is missing from this cache, it still results in the
  // alias being loaded correctly, only less efficiently.
  if ($source) {
    foreach (array_keys($this->lookupMap) as $lang) {
      unset($this->lookupMap[$lang][$source]);
    }
  }
  else {
    $this->lookupMap = [];
  }
  $this->noPath = [];
  $this->noAlias = [];
  $this->langcodePreloaded = [];
  $this->preloadedPathLookups = [];
  $this
    ->pathAliasWhitelistRebuild($source);
}