8000 [FrameworkBundle] Optimize validator registration · symfony/symfony@9c5b9e1 · GitHub
[go: up one dir, main page]

Skip to content

Commit 9c5b9e1

Browse files
committed
[FrameworkBundle] Optimize validator registration
1 parent 9280c62 commit 9c5b9e1

File tree

1 file changed

+14
-22
lines changed

1 file changed

+14
-22
lines changed

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

Lines changed: 14 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ class FrameworkExtension extends Extension
4040
*
4141
* @param array $configs
4242
* @param ContainerBuilder $container
43+
* @throws LogicException
4344
*/
4445
public function load(array $configs, ContainerBuilder $container)
4546
{
@@ -711,9 +712,7 @@ private function registerValidationConfiguration(array $config, ContainerBuilder
711712

712713
$container->setParameter('validator.translation_domain', $config['translation_domain']);
713714

714-
$xmlMappings = $this->getValidatorXmlMappingFiles($container);
715-
$yamlMappings = $this->getValidatorYamlMappingFiles($container);
716-
715+
list($xmlMappings, $yamlMappings) = $this->getValidatorMappingFiles($container);
717716
if (count($xmlMappings) > 0) {
718717
$validatorBuilder->addMethodCall('addXmlMappings', array($xmlMappings));
719718
}
@@ -766,35 +765,28 @@ private function registerValidationConfiguration(array $config, ContainerBuilder
766765
$container->setParameter('validator.api', $api);
767766
}
768767

769-
private function getValidatorXmlMappingFiles(ContainerBuilder $container)
768+
private function getValidatorMappingFiles(ContainerBuilder $container)
770769
{
771-
$files = array();
770+
$files = array(array(), array());
772771

773772
if (interface_exists('Symfony\Component\Form\FormInterface')) {
774773
$reflClass = new \ReflectionClass('Symfony\Component\Form\FormInterface');
775-
$files[] = dirname($reflClass->getFileName()).'/Resources/config/validation.xml';
776-
$container->addResource(new FileResource($files[0]));
774+
$files[0][] = dirname($reflClass->getFileName()).'/Resources/config/validation.xml';
775+
$container->addResource(new FileResource($files[0][0]));
777776
}
778777

779-
foreach ($container->getParameter('kernel.bundles') as $bundle) {
778+
$bundles = $container->getParameter('kernel.bundles');
779+
foreach ($bundles as $bundle) {
780780
$reflection = new \ReflectionClass($bundle);
781-
if (is_file($file = dirname($reflection->getFilename()).'/Resources/config/validation.xml')) {
782-
$files[] = realpath($file);
781+
$dirname = dirname($reflection->getFilename());
782+
783+
if (is_file($file = $dirname.'/Resources/config/validation.xml')) {
784+
$files[0][] = realpath($file);
783785
$container->addResource(new FileResource($file));
784786
}
785-
}
786787

787-
return $files;
788-
}
789-
790-
private function getValidatorYamlMappingFiles(ContainerBuilder $container)
791-
{
792-
$files = array();
793-
794-
foreach ($container->getParameter('kernel.bundles') as $bundle) {
795-
$reflection = new \ReflectionClass($bundle);
796-
if (is_file($file = dirname($reflection->getFilename()).'/Resources/config/validation.yml')) {
797-
$files[] = realpath($file);
788+
if (is_file($file = $dirname.'/Resources/config/validation.yml')) {
789+
$files[1][] = realpath($file);
798790
$container->addResource(new FileResource($file));
799791
}
800792
}

0 commit comments

Comments
 (0)
0