public function AliasManager::writeCache in Drupal 8
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 172
Class
- AliasManager
- The default alias manager implementation.
Namespace
Drupal\Core\PathCode
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 ?: [];
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);
}
}