Browse Source

[Framework] fix ClassCollectionLoader not taking interfaces into account

Fabien Potencier 14 years ago
parent
commit
2c1fb7b3ec
1 changed files with 3 additions and 3 deletions
  1. 3 3
      src/Symfony/Framework/ClassCollectionLoader.php

+ 3 - 3
src/Symfony/Framework/ClassCollectionLoader.php

@@ -38,18 +38,18 @@ class ClassCollectionLoader
             return;
             return;
         }
         }
 
 
+        self::$loaded[$name] = true;
+
         $classes = array_unique($classes);
         $classes = array_unique($classes);
 
 
         if ($adaptive) {
         if ($adaptive) {
             // don't include already declared classes
             // 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
             // the cache is different depending on which classes are already declared
             $name = $name.'-'.substr(md5(implode('|', $classes)), 0, 5);
             $name = $name.'-'.substr(md5(implode('|', $classes)), 0, 5);
         }
         }
 
 
-        self::$loaded[$name] = true;
-
         $cache = $cacheDir.'/'.$name.'.php';
         $cache = $cacheDir.'/'.$name.'.php';
 
 
         // auto-reload
         // auto-reload