8000 do not add DirectoryLoader if not available · symfony/symfony@f7f5dd7 · GitHub
[go: up one dir, main page]

Skip to content

Commit f7f5dd7

Browse files
committed
do not add DirectoryLoader if not available
1 parent 4fa1ffd commit f7f5dd7

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Compiler/RoutingResolverPass.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ public function process(ContainerBuilder $container)
3030

3131
$definition = $container->getDefinition('routing.resolver');
3232

33+
// routing.loader.directory only appears in Routing 2.7
34+
$directoryLoaderDefinition = $container->getDefinition('routing.loader.directory');
35+
if (!class_exists($directoryLoaderDefinition->getClass())) {
36+
$container->removeDefinition('routing.loader.directory');
37+
}
38+
3339
foreach ($container->findTaggedServiceIds('routing.loader') as $id => $attributes) {
3440
$definition->addMethodCall('addLoader', array(new Reference($id)));
3541
}

src/Symfony/Component/HttpKernel/Kernel.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -737,14 +737,20 @@ protected function dumpContainer(ConfigCache $cache, ContainerBuilder $container
737737
protected function getContainerLoader(ContainerInterface $container)
738738
{
739739
$locator = new FileLocator($this);
740-
$resolver = new LoaderResolver(array(
740+
$loaders = array(
741741
new XmlFileLoader($container, $locator),
742742
new YamlFileLoader($container, $locator),
743743
new IniFileLoader($container, $locator),
744744
new PhpFileLoader($container, $locator),
745-
new DirectoryLoader($container, $locator),
746745
new ClosureLoader($container),
747-
));
746+
);
747+
748+
// DirectoryLoader only appears in DI 2.7
749+
if (class_exists('Symfony\\Component\\DependencyInjection\\Loader\\DirectoryLoader')) {
750+
$loaders[] = new DirectoryLoader($container, $locator);
751+
}
752+
753+
$resolver = new LoaderResolver($loaders);
748754

749755
return new DelegatingLoader($resolver);
750756
}

0 commit comments

Comments
 (0)
0