Jelajahi Sumber

[Framework] fix ClassCollectionLoader not taking interfaces into account

Fabien Potencier 14 tahun lalu
induk
melakukan
2c1fb7b3ec
1 mengubah file dengan 3 tambahan dan 3 penghapusan
  1. 3 3
      src/Symfony/Framework/ClassCollectionLoader.php

+ 3 - 3
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