Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 7c39ac1

Browse files
bug #19298 [ClassLoader] Fix declared classes being computed when not needed (nicolas-grekas)
This PR was merged into the 2.7 branch. Discussion ---------- [ClassLoader] Fix declared classes being computed when not needed | Q | A | ------------- | --- | Branch? | 2.7 | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | no | Fixed tickets | - | License | MIT | Doc PR | - Commits ------- d513eae [ClassLoader] Fix declared classes being computed when not needed
2 parents b7ed32a + d513eae commit 7c39ac1

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

src/Symfony/Component/ClassLoader/ClassCollectionLoader.php

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,12 @@ public static function load($classes, $cacheDir, $name, $autoReload, $adaptive =
4343

4444
self::$loaded[$name] = true;
4545

46-
$declared = array_merge(get_declared_classes(), get_declared_interfaces());
47-
if (function_exists('get_declared_traits')) {
48-
$declared = array_merge($declared, get_declared_traits());
49-
}
50-
5146
if ($adaptive) {
47+
$declared = array_merge(get_declared_classes(), get_declared_interfaces());
48+
if (function_exists('get_declared_traits')) {
49+
$declared = array_merge($declared, get_declared_traits());
50+
}
51+
5252
// don't include already declared classes
5353
$classes = array_diff($classes, $declared);
5454

@@ -87,11 +87,17 @@ public static function load($classes, $cacheDir, $name, $autoReload, $adaptive =
8787
}
8888
}
8989

90-
if (!$reload && is_file($cache)) {
90+
if (!$reload && file_exists($cache)) {
9191
require_once $cache;
9292

9393
return;
9494
}
95+
if (!$adaptive) {
96+
$declared = array_merge(get_declared_classes(), get_declared_interfaces());
97+
if (function_exists('get_declared_traits')) {
98+
$declared = array_merge($declared, get_declared_traits());
99+
}
100+
}
95101

96102
$files = array();
97103
$content = '';

0 commit comments

Comments
 (0)