You are here

protected function DbCacheClassLoader::updateClassFiles in X Autoload 7.5

Parameters

string[] $toBeAdded:

string[] $toBeRemoved:

Return value

string[]

Overrides AbstractQueuedCachedClassLoader::updateClassFiles

File

src/ClassLoader/DbCacheClassLoader.php, line 38

Class

DbCacheClassLoader
A class loader decorator using Drupal's native db cache.

Namespace

Drupal\xautoload\ClassLoader

Code

protected function updateClassFiles($toBeAdded, $toBeRemoved) {
  $class_files = $toBeAdded;

  // Other requests may have already written to the cache, so we get an up to
  // date version.
  $cached = cache_get($this->cacheName);
  if (isset($cached->data)) {
    $class_files += $cached->data;
    foreach ($toBeRemoved as $class => $file) {
      if (isset($class_files[$class]) && $class_files[$class] === $file) {
        unset($class_files[$class]);
      }
    }
  }
  cache_set($this->cacheName, $class_files);
  return $class_files;
}