AliasManager::writeCache

public AliasManager::writeCache()

Cache an array of the paths available on each page. We assume that aliases will be needed for the majority of these paths during subsequent requests, and load them in a single query during path alias lookup.

Overrides CacheDecoratorInterface::writeCache

File

core/lib/Drupal/Core/Path/AliasManager.php, line 129

Class

AliasManager
The default alias manager implementation.

Namespace

Drupal\Core\Path

Code

public function writeCache() {
  // Check if the paths for this page were loaded from cache in this request
  // to avoid writing to cache on every request.
  if ($this->cacheNeedsWriting && !empty($this->cacheKey)) {
    // Start with the preloaded path lookups, so that cached entries for other
    // languages will not be lost.
    $path_lookups = $this->preloadedPathLookups ? : array();
    foreach ($this->lookupMap as $langcode => $lookups) {
      $path_lookups[$langcode] = array_keys($lookups);
      if (!empty($this->noAlias[$langcode])) {
        $path_lookups[$langcode] = array_merge($path_lookups[$langcode], array_keys($this->noAlias[$langcode]));
      }
    }

    $twenty_four_hours = 60 * 60 * 24;
    $this->cache->set($this->cacheKey, $path_lookups, $this->getRequestTime() + $twenty_four_hours);
  }
}
doc_Drupal
2016-10-29 08:44:11
Comments
Leave a Comment

Please login to continue.