8000 [HttpKernel] Reduce code complexity by merging "ClassMatcher" into "A… · symfony/symfony@8a0f5c0 · GitHub
[go: up one dir, main page]

Skip to content

Commit 8a0f5c0

Browse files
nicolas-grekastgalopin
authored andcommitted
[HttpKernel] Reduce code complexity by merging "ClassMatcher" into "AddClassesToCachePass"
1 parent 8ea4ed6 commit 8a0f5c0

File tree

12 files changed

+221
-324
lines changed

12 files changed

+221
-324
lines changed

src/Symfony/Bundle/FrameworkBundle/CacheWarmer/ClassCacheCacheWarmer.php

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313

1414
use Symfony\Component\ClassLoader\ClassCollectionLoader;
1515
use Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerInterface;
16-
use Symfony\Component\HttpKernel\CacheWarmer\ClassMatcherInterface;
1716

1817
/**
1918
* Generates the Class Cache (classes.php) file.
@@ -22,11 +21,11 @@
2221
*/
2322
class ClassCacheCacheWarmer implements CacheWarmerInterface
2423
{
25-
private $classMatcher;
24+
private $declaredClasses;
2625

27-
public function __construct(ClassMatcherInterface $classMatcher = null)
26+
public function __construct(array $declaredClasses = null)
2827
{
29-
$this->classMatcher = $classMatcher;
28+
$this->declaredClasses = $declaredClasses;
3029
}
3130

3231
/**
@@ -45,15 +44,9 @@ public function warmUp($cacheDir)
4544
if (file_exists($cacheDir.'/classes.php')) {
4645
return;
4746
}
47+
$declared = null !== $this->declaredClasses ? $this->declaredClasses : array_merge(get_declared_classes(), get_declared_interfaces(), get_declared_traits());
4848

49-
$classesToCompile = include $classmap;
50-
51-
if ($this->classMatcher) {
52-
$declaredClasses = array_keys(ClassCollectionLoader::getComposerClassMap());
53-
$classesToCompile = $this->classMatcher->match($declaredClasses, $classesToCompile);
54-
}
55-
56-
ClassCollectionLoader::load($classesToCompile, $cacheDir, 'classes', false);
49+
ClassCollectionLoader::inline(include($classmap), $cacheDir.'/classes.php', $declared);
5750
}
5851

5952
/**

src/Symfony/Bundle/FrameworkBundle/Resources/config/services.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,11 @@
1818

1919
<service id="request_stack" class="Symfony\Component\HttpFoundation\RequestStack" />
2020

21-
<service id="kernel.class_cache.matcher" class="Symfony\Component\HttpKernel\CacheWarmer\ClassMatcher" public="false" />
22-
2321
<service id="cache_warmer" class="Symfony\Component\HttpKernel\CacheWarmer\CacheWarmerAggregate">
2422
<argument type="collection" />
2523
</service>
2624

2725
<service id="kernel.class_cache.cache_warmer" class="Symfony\Bundle\FrameworkBundle\CacheWarmer\ClassCacheCacheWarmer">
28-
<argument type="service" id="kernel.class_cache.matcher" />
2926
<tag name="kernel.cache_warmer" />
3027
<argument type="collection">
3128
<argument>Doctrine\Common\Annotations\AnnotationRegistry</argument>

src/Symfony/Bundle/FrameworkBundle/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"php": ">=5.5.9",
2020
"symfony/asset": "~2.8|~3.0",
2121
"symfony/cache": "~3.1",
22-
"symfony/class-loader": "~3.2",
22+
"symfony/class-loader": "~2.8|~3.0",
2323
"symfony/dependency-injection": "~3.2",
2424
"symfony/config": "~2.8|~3.0",
2525
"symfony/event-dispatcher": "~2.8|~3.0",

src/Symfony/Component/ClassLoader/ClassCollectionLoader.php

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,6 @@
1111

1212
namespace Symfony\Component\ClassLoader;
1313

14-
use Composer\Autoload\ClassLoader;
15-
use Symfony\Component\Debug\DebugClassLoader;
16-
1714
/**
1815
* ClassCollectionLoader.
1916
*
@@ -25,32 +22,6 @@ class ClassCollectionLoader
2522
private static $seen;
2623
private static $useTokenizer = true;
2724

28-
/**
29-
* Return the Composer class map.
30-
*
31-
* @return array
32-
*/
33-
public static function getComposerClassMap()
34-
{
35-
$classes = array();
36-
37-
foreach (spl_autoload_functions() as $function) {
38-
if (!is_array($function)) {
39-
continue;
40-
}
41-
42-
if ($function[0] instanceof DebugClassLoader) {
43-
$function = $function[0]->getClassLoader();
44-
}
45-
46-
if (is_array($function) && $function[0] instanceof ClassLoader) {
47-
$classes += $function[0]->getClassMap();
48-
}
49-
}
50-
51-
return $classes;
52-
}
53-
5425
/**
5526
* Loads a list of classes and caches them in one big file.
5627
*

src/Symfony/Component/HttpKernel/CacheWarmer/ClassMatcher.php

Lines changed: 0 additions & 91 deletions
This file was deleted.

src/Symfony/Component/HttpKernel/CacheWarmer/ClassMatcherInterface.php

Lines changed: 0 additions & 30 deletions
This file was deleted.

src/Symfony/Component/HttpKernel/DependencyInjection/AddAnnotatedClassesToCachePass.php

Lines changed: 0 additions & 46 deletions
This file was deleted.

0 commit comments

Comments
 (0)
0