Browse Source

Re-use existing autoloader suffix if available, fixes #3701

Jordi Boggiano 10 years ago
parent
commit
b296e654eb
1 changed files with 10 additions and 1 deletions
  1. 10 1
      src/Composer/Autoload/AutoloadGenerator.php

+ 10 - 1
src/Composer/Autoload/AutoloadGenerator.php

@@ -214,7 +214,16 @@ EOF;
         $classmapFile .= ");\n";
 
         if (!$suffix) {
-            $suffix = $config->get('autoloader-suffix') ?: md5(uniqid('', true));
+            if (is_readable($vendorPath.'/autoload.php')) {
+                $content = file_get_contents($vendorPath.'/autoload.php');
+                if (preg_match('{ComposerAutoloaderInit([^:\s]+)::}', $content, $match)) {
+                    $suffix = $match[1];
+                }
+            }
+
+            if (!$suffix) {
+                $suffix = $config->get('autoloader-suffix') ?: md5(uniqid('', true));
+            }
         }
 
         file_put_contents($targetDir.'/autoload_namespaces.php', $namespacesFile);