diff --git a/src/Symfony/Framework/ClassCollectionLoader.php b/src/Symfony/Framework/ClassCollectionLoader.php index 5be6a07745..c7a43433a9 100644 --- a/src/Symfony/Framework/ClassCollectionLoader.php +++ b/src/Symfony/Framework/ClassCollectionLoader.php @@ -38,18 +38,18 @@ class ClassCollectionLoader return; } + self::$loaded[$name] = true; + $classes = array_unique($classes); if ($adaptive) { // don't include already declared classes - $classes = array_diff($classes, get_declared_classes()); + $classes = array_diff($classes, get_declared_classes(), get_declared_interfaces()); // the cache is different depending on which classes are already declared $name = $name.'-'.substr(md5(implode('|', $classes)), 0, 5); } - self::$loaded[$name] = true; - $cache = $cacheDir.'/'.$name.'.php'; // auto-reload