Skip to content

Commit d047f38

Browse files
committedDec 22, 2022
Make sure autoloader closures do not have a scope class set
1 parent 2e71896 commit d047f38

6 files changed

+12
-12
lines changed
 

‎src/Composer/Autoload/AutoloadGenerator.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -1021,13 +1021,13 @@ public static function getLoader()
10211021
if ($useIncludeFiles) {
10221022
$file .= <<<INCLUDE_FILES
10231023
\$filesToLoad = \Composer\Autoload\ComposerStaticInit$suffix::\$files;
1024-
\$requireFile = static function (\$fileIdentifier, \$file) {
1024+
\$requireFile = \Closure::bind(static function (\$fileIdentifier, \$file) {
10251025
if (empty(\$GLOBALS['__composer_autoload_files'][\$fileIdentifier])) {
10261026
\$GLOBALS['__composer_autoload_files'][\$fileIdentifier] = true;
10271027
10281028
require \$file;
10291029
}
1030-
};
1030+
}, null, null);
10311031
foreach (\$filesToLoad as \$fileIdentifier => \$file) {
10321032
(\$requireFile)(\$fileIdentifier, \$file);
10331033
}

‎src/Composer/Autoload/ClassLoader.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -574,8 +574,8 @@ private static function initializeIncludeClosure(): void
574574
* @param string $file
575575
* @return void
576576
*/
577-
self::$includeFile = static function($file) {
577+
self::$includeFile = \Closure::bind(static function($file) {
578578
include $file;
579-
};
579+
}, null, null);
580580
}
581581
}

‎tests/Composer/Test/Autoload/Fixtures/autoload_real_files_by_dependency.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ public static function getLoader()
3232
$loader->register(true);
3333

3434
$filesToLoad = \Composer\Autoload\ComposerStaticInitFilesAutoloadOrder::$files;
35-
$requireFile = static function ($fileIdentifier, $file) {
35+
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
3636
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
3737
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
3838

3939
require $file;
4040
}
41-
};
41+
}, null, null);
4242
foreach ($filesToLoad as $fileIdentifier => $file) {
4343
($requireFile)($fileIdentifier, $file);
4444
}

‎tests/Composer/Test/Autoload/Fixtures/autoload_real_functions.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ public static function getLoader()
3232
$loader->register(true);
3333

3434
$filesToLoad = \Composer\Autoload\ComposerStaticInitFilesAutoload::$files;
35-
$requireFile = static function ($fileIdentifier, $file) {
35+
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
3636
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
3737
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
3838

3939
require $file;
4040
}
41-
};
41+
}, null, null);
4242
foreach ($filesToLoad as $fileIdentifier => $file) {
4343
($requireFile)($fileIdentifier, $file);
4444
}

‎tests/Composer/Test/Autoload/Fixtures/autoload_real_functions_with_include_paths.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ public static function getLoader()
3636
$loader->register(true);
3737

3838
$filesToLoad = \Composer\Autoload\ComposerStaticInitFilesAutoload::$files;
39-
$requireFile = static function ($fileIdentifier, $file) {
39+
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
4040
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
4141
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
4242

4343
require $file;
4444
}
45-
};
45+
}, null, null);
4646
foreach ($filesToLoad as $fileIdentifier => $file) {
4747
($requireFile)($fileIdentifier, $file);
4848
}

‎tests/Composer/Test/Autoload/Fixtures/autoload_real_target_dir.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ public static function getLoader()
3434
$loader->register(true);
3535

3636
$filesToLoad = \Composer\Autoload\ComposerStaticInitTargetDir::$files;
37-
$requireFile = static function ($fileIdentifier, $file) {
37+
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
3838
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
3939
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
4040

4141
require $file;
4242
}
43-
};
43+
}, null, null);
4444
foreach ($filesToLoad as $fileIdentifier => $file) {
4545
($requireFile)($fileIdentifier, $file);
4646
}

0 commit comments

Comments
 (0)
Please sign in to comment.