diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php index e4439bce5edd5..c92c723fb49f4 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php @@ -15,6 +15,7 @@ use Symfony\Bridge\Monolog\Processor\DebugProcessor; use Symfony\Component\Cache\Adapter\AdapterInterface; use Symfony\Component\Config\Loader\LoaderInterface; +use Symfony\Component\Config\Resource\DirectoryResource; use Symfony\Component\DependencyInjection\Alias; use Symfony\Component\DependencyInjection\ChildDefinition; use Symfony\Component\DependencyInjection\ContainerBuilder; @@ -938,7 +939,7 @@ private function registerValidationConfiguration(array $config, ContainerBuilder $files = array('xml' => array(), 'yml' => array()); $this->getValidatorMappingFiles($container, $files); - $this->getValidatorMappingFilesFromConfig($config, $files); + $this->getValidatorMappingFilesFromConfig($container, $config, $files); if (!empty($files['xml'])) { $validatorBuilder->addMethodCall('addXmlMappings', array($files['xml'])); @@ -997,7 +998,7 @@ private function getValidatorMappingFiles(ContainerBuilder $container, array &$f $files['xml'][] = $file; } - if ($container->fileExists($dir = $dirname.'/Resources/config/validation')) { + if ($container->fileExists($dir = $dirname.'/Resources/config/validation', '/^$/')) { $this->getValidatorMappingFilesFromDir($dir, $files); } } @@ -1011,12 +1012,13 @@ private function getValidatorMappingFilesFromDir($dir, array &$files) } } - private function getValidatorMappingFilesFromConfig(array $config, array &$files) + private function getValidatorMappingFilesFromConfig(ContainerBuilder $container, array $config, array &$files) { foreach ($config['mapping']['paths'] as $path) { if (is_dir($path)) { $this->getValidatorMappingFilesFromDir($path, $files); - } elseif (is_file($path)) { + $container->addResource(new DirectoryResource($path, '/^$/')); + } elseif ($container->fileExists($path, false)) { if (preg_match('/\.(xml|ya?ml)$/', $path, $matches)) { $extension = $matches[1]; $files['yaml' === $extension ? 'yml' : $extension][] = $path;
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: