8000 [DI] Use GlobResource for non-tracked directories · symfony/symfony@e9ea24f · GitHub
[go: up one dir, main page]

Skip to content

Commit e9ea24f

Browse files
vudaltsovnicolas-grekas
authored andcommitted
[DI] Use GlobResource for non-tracked directories
Thanks @nicolas-grekas
1 parent c56245b commit e9ea24f

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1346,7 +1346,7 @@ private function registerSerializerConfiguration(array $config, ContainerBuilder
13461346
$fileRecorder('yml', $file);
13471347
}
13481348

1349-
if ($container->fileExists($dir = $dirname.'/Resources/config/serialization')) {
1349+
if ($container->fileExists($dir = $dirname.'/Resources/config/serialization', '/^$/')) {
13501350
$this->registerMappingFilesFromDir($dir, $fileRecorder);
13511351
}
13521352
}

src/Symfony/Bundle/TwigBundle/DependencyInjection/TwigExtension.php

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

1414
use Symfony\Bridge\Twig\Extension\WebLinkExtension;
1515
use Symfony\Component\Config\FileLocator;
16+
use Symfony\Component\Config\Resource\FileExistenceResource;
1617
use Symfony\Component\DependencyInjection\ContainerBuilder;
1718
use Symfony\Component\DependencyInjection\Reference;
1819
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
@@ -118,7 +119,8 @@ public function load(array $configs, ContainerBuilder $container)
118119
}
119120
}
120121

121-
if ($container->fileExists($dir = $container->getParameter('kernel.root_dir').'/Resources/views', false)) {
122+
if (is_dir($dir = $container->getParameter('kernel.root_dir').'/Resources/views')) {
123+
$container->addResource(new FileExistenceResource($dir));
122124
$twigFilesystemLoaderDefinition->addMethodCall('addPath', array($dir));
123125
}
124126

@@ -178,11 +180,13 @@ private function getBundleHierarchy(ContainerBuilder $container)
178180
);
179181
}
180182

181-
if ($container->fileExists($dir = $container->getParameter('kernel.root_dir').'/Resources/'.$name.'/views', false)) {
183+
if (is_dir($dir = $container->getParameter('kernel.root_dir').'/Resources/'.$name.'/views')) {
184+
$container->addResource(new FileExistenceResource($dir));
182185
$bundleHierarchy[$name]['paths'][] = $dir;
183186
}
184187

185-
if ($container->fileExists($dir = $bundle['path'].'/Resources/views', false)) {
188+
if (is_dir($dir = $bundle['path'].'/Resources/views')) {
189+
$container->addResource(new FileExistenceResource($dir));
186190
$bundleHierarchy[$name]['paths'][] = $dir;
187191
}
188192

src/Symfony/Component/DependencyInjection/ContainerBuilder.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -407,12 +407,14 @@ public function fileExists($path, $trackContents = true)
407407
return $exists;
408408
}
409409

410-
if ($trackContents) {
411-
if (is_dir($path)) {
410+
if (is_dir($path)) {
411+
if ($trackContents) {
412412
$this->addResource(new DirectoryResource($path, is_string($trackContents) ? $trackContents : null));
413413
} else {
414-
$this->addResource(new FileResource($path));
414+
$this->addResource(new GlobResource($path, '/*', false));
415415
}
416+
} elseif ($trackContents) {
417+
$this->addResource(new FileResource($path));
416418
}
417419

418420
return $exists;

0 commit comments

Comments
 (0)
0