浏览代码

Always prepend autoloaders to avoid tools (i.e. phpunit) taking precedence over the project autoloader

Jordi Boggiano 12 年之前
父节点
当前提交
c80cb76b9b

+ 2 - 2
src/Composer/Autoload/AutoloadGenerator.php

@@ -405,7 +405,7 @@ CLASSMAP;
 
         if ($targetDirLoader) {
             $file .= <<<REGISTER_AUTOLOAD
-        spl_autoload_register(array('ComposerAutoloaderInit$suffix', 'autoload'));
+        spl_autoload_register(array('ComposerAutoloaderInit$suffix', 'autoload'), true, true);
 
 
 REGISTER_AUTOLOAD;
@@ -413,7 +413,7 @@ REGISTER_AUTOLOAD;
         }
 
         $file .= <<<METHOD_FOOTER
-        \$loader->register();{$filesCode}
+        \$loader->register(true);{$filesCode}
 
         return \$loader;
     }

+ 1 - 1
tests/Composer/Test/Autoload/Fixtures/autoload_real_files_by_dependency.php

@@ -36,7 +36,7 @@ class ComposerAutoloaderInitFilesAutoloadOrder
             $loader->addClassMap($classMap);
         }
 
-        $loader->register();
+        $loader->register(true);
 
         require $vendorDir . '/c/lorem/testC.php';
         require $vendorDir . '/z/foo/testA.php';

+ 1 - 1
tests/Composer/Test/Autoload/Fixtures/autoload_real_functions.php

@@ -36,7 +36,7 @@ class ComposerAutoloaderInitFilesAutoload
             $loader->addClassMap($classMap);
         }
 
-        $loader->register();
+        $loader->register(true);
 
         require $vendorDir . '/a/a/test.php';
         require $vendorDir . '/b/b/test2.php';

+ 2 - 2
tests/Composer/Test/Autoload/Fixtures/autoload_real_target_dir.php

@@ -36,9 +36,9 @@ class ComposerAutoloaderInitTargetDir
             $loader->addClassMap($classMap);
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInitTargetDir', 'autoload'));
+        spl_autoload_register(array('ComposerAutoloaderInitTargetDir', 'autoload'), true, true);
 
-        $loader->register();
+        $loader->register(true);
 
         return $loader;
     }