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

Skip to content

Commit 048eb18

Browse files
vudaltsovnicolas-grekas
authored andcommitted
[DI] Use GlobResource for non-tracked directories
1 parent eea78fd commit 048eb18

File tree

3 files changed

+15
-7
lines changed

3 files changed

+15
-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,9 +119,10 @@ 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 (file_exists($dir = $container->getParameter('kernel.root_dir').'/Resources/views')) {
122123
$twigFilesystemLoaderDefinition->addMethodCall('addPath', array($dir));
123124
}
125+
$container->addResource(new FileExistenceResource($dir));
124126

125127
if (!empty($config['globals'])) {
126128
$def = $container->getDefinition('twig');
@@ -178,13 +180,15 @@ private function getBundleHierarchy(ContainerBuilder $container)
178180
);
179181
}
180182

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

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

189193
if (null === $bundle['parent']) {
190194
continue;

src/Symfony/Component/DependencyInjection/ContainerBuilder.php

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

410-
if ($trackContents && is_dir($path)) {
411-
$this->addResource(new DirectoryResource($path, is_string($trackContents) ? $trackContents : null));
412-
} elseif ($trackContents || is_dir($path)) {
410+
if (is_dir($path)) {
411+
if ($trackContents) {
412+
$this->addResource(new DirectoryResource($path, is_string($trackContents) ? $trackContents : null));
413+
} else {
414+
$this->addResource(new GlobResource($path, '/*', false));
415+
}
416+
} elseif ($trackContents) {
413417
$this->addResource(new FileResource($path));
414418
}
415419

0 commit comments

Comments
 (0)
0