diff --git a/src/Composer/Autoload/AutoloadGenerator.php b/src/Composer/Autoload/AutoloadGenerator.php index 2a20265df..921ba6b6e 100644 --- a/src/Composer/Autoload/AutoloadGenerator.php +++ b/src/Composer/Autoload/AutoloadGenerator.php @@ -1007,9 +1007,16 @@ REGISTER_LOADER; if ($useIncludeFiles) { $file .= << \$file) { - composerRequire$suffix(\$fileIdentifier, \$file); + \$filesToLoad = \Composer\Autoload\ComposerStaticInit$suffix::\$files; + \$requireFile = static function (\$fileIdentifier, \$file) { + if (empty(\$GLOBALS['__composer_autoload_files'][\$fileIdentifier])) { + \$GLOBALS['__composer_autoload_files'][\$fileIdentifier] = true; + + require \$file; + } + }; + foreach (\$filesToLoad as \$fileIdentifier => \$file) { + (\$requireFile)(\$fileIdentifier, \$file); } @@ -1024,27 +1031,6 @@ METHOD_FOOTER; $file .= $targetDirLoader; - if ($useIncludeFiles) { - return $file . <<