You are here

protected function ApcuQueuedCachedClassLoader::updateClassFiles in X Autoload 7.5

Parameters

string[] $toBeAdded:

string[] $toBeRemoved:

Return value

string[]

Overrides AbstractQueuedCachedClassLoader::updateClassFiles

File

src/ClassLoader/ApcuQueuedCachedClassLoader.php, line 32

Class

ApcuQueuedCachedClassLoader

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 = \apcu_fetch($this->prefix);
  if (!empty($cached)) {
    $class_files += $cached;
    foreach ($toBeRemoved as $class => $file) {
      if (isset($class_files[$class]) && $class_files[$class] === $file) {
        unset($class_files[$class]);
      }
    }
  }
  \apcu_store($this->prefix, $class_files);
  return $class_files;
}