Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit f5a020e

Browse filesBrowse files
committed
feature #14016 Remove the API version in the validator component (saro0h, fabpot, stof)
This PR was merged into the 2.7 branch. Discussion ---------- Remove the API version in the validator component | Q | A | ------------- | --- | Bug fix? | no | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | #13458 | License | MIT | Doc PR | n/a This completes the work of #13517 Commits ------- 9438206 Complete the removal of API versions in the validator component 75088c0 [Validator] deprecated API version 0c69f69 Removed 2.5 bc layer
2 parents 83c6d22 + 9438206 commit f5a020e
Copy full SHA for f5a020e

File tree

Expand file treeCollapse file tree

70 files changed

+169
-1651
lines changed
Filter options

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner
Expand file treeCollapse file tree

70 files changed

+169
-1651
lines changed

‎src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php
+9-13Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,14 @@ public function getConfigTreeBuilder()
112112
return $v;
113113
})
114114
->end()
115+
->beforeNormalization()
116+
->ifTrue(function ($v) { return isset($v['validation']['api']); })
117+
->then(function ($v) {
118+
trigger_error('The validation.api configuration key is deprecated since version 2.7 and will be removed in 3.0', E_USER_DEPRECATED);
119+
120+
return $v;
121+
})
122+
->end()
115123
->children()
116124
->scalarNode('secret')->end()
117125
->scalarNode('http_method_override')
@@ -610,6 +618,7 @@ private function addValidationSection(ArrayNodeDefinition $rootNode)
610618
->scalarNode('translation_domain')->defaultValue('validators')->end()
611619
->booleanNode('strict_email')->defaultFalse()->end()
612620
->enumNode('api')
621+
->info('Deprecated since version 2.7, to be removed in 3.0')
613622
->values(array('2.4', '2.5', '2.5-bc', 'auto'))
614623
->beforeNormalization()
615624
// XML/YAML parse as numbers, not as strings
@@ -620,19 +629,6 @@ private function addValidationSection(ArrayNodeDefinition $rootNode)
620629
->end()
621630
->end()
622631
->end()
623-
->validate()
624-
->ifTrue(function ($v) { return !isset($v['validation']['api']) || 'auto' === $v['validation']['api']; })
625-
->then(function ($v) {
626-
// This condition is duplicated in ValidatorBuilder. This
627-
// duplication is necessary in order to know the desired
628-
// API version already during container configuration
629-
// (to adjust service classes etc.)
630-
// See https://github.com/symfony/symfony/issues/11580
631-
$v['validation']['api'] = '2.5-bc';
632-
633-
return $v;
634-
})
635-
->end()
636632
;
637633
}
638634

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

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php
+3-12Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -761,20 +761,11 @@ private function registerValidationConfiguration(array $config, ContainerBuilder
761761
$validatorBuilder->addMethodCall('setMetadataCache', array(new Reference($config['cache'])));
762762
}
763763

764-
if ('2.5' === $config['api']) {
765-
$api = Validation::API_VERSION_2_5;
766-
} else {
767-
// 2.4 is now the same as 2.5 BC
768-
$api = Validation::API_VERSION_2_5_BC;
769-
// the validation class needs to be changed for BC
770-
$container->setParameter('validator.class', 'Symfony\Component\Validator\ValidatorInterface');
771-
}
772-
773-
$validatorBuilder->addMethodCall('setApiVersion', array($api));
774-
775764
// You can use this parameter to check the API version in your own
776765
// bundle extension classes
777-
$container->setParameter('validator.api', $api);
766+
// This is set to 2.5-bc for compatibility with Symfony 2.5 and 2.6.
767+
// @deprecated since version 2.7, to be removed in 3.0
768+
$container->setParameter('validator.api', '2.5-bc');
778769
}
779770

780771
private function getValidatorMappingFiles(ContainerBuilder $container)

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/ConfigurationTest.php
-1Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,6 @@ protected static function getBundleDefaultConfig()
153153
'static_method' => array('loadValidatorMetadata'),
154154
'translation_domain' => 'validators',
155155
'strict_email' => false,
156-
'api' => '2.5-bc',
157156
),
158157
'annotations' => array(
159158
'cache' => 'file',

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/validation_2_5_api.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/validation_2_5_api.php
-9Lines changed: 0 additions & 9 deletions
This file was deleted.

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/validation_2_5_bc_api.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/validation_2_5_bc_api.php
-9Lines changed: 0 additions & 9 deletions
This file was deleted.

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/validation_auto_api.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/validation_auto_api.php
-9Lines changed: 0 additions & 9 deletions
This file was deleted.

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/validation_implicit_api.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/validation_implicit_api.php
-8Lines changed: 0 additions & 8 deletions
This file was deleted.

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/validation_2_5_api.xml

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/validation_2_5_api.xml
-12Lines changed: 0 additions & 12 deletions
This file was deleted.

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/validation_2_5_bc_api.xml

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/validation_2_5_bc_api.xml
-12Lines changed: 0 additions & 12 deletions
This file was deleted.

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/validation_auto_api.xml

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/validation_auto_api.xml
-12Lines changed: 0 additions & 12 deletions
This file was deleted.

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/validation_implicit_api.xml

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/validation_implicit_api.xml
-12Lines changed: 0 additions & 12 deletions
This file was deleted.

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/validation_2_5_api.yml

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/validation_2_5_api.yml
-5Lines changed: 0 additions & 5 deletions
This file was deleted.

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/validation_2_5_bc_api.yml

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/validation_2_5_bc_api.yml
-5Lines changed: 0 additions & 5 deletions
This file was deleted.

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/validation_auto_api.yml

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/validation_auto_api.yml
-5Lines changed: 0 additions & 5 deletions
This file was deleted.

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/validation_implicit_api.yml

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/validation_implicit_api.yml
-4Lines changed: 0 additions & 4 deletions
This file was deleted.

‎src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php

Copy file name to clipboardExpand all lines: src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php
+6-76Lines changed: 6 additions & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ public function testValidation()
276276

277277
$calls = $container->getDefinition('validator.builder')->getMethodCalls();
278278

279-
$this->assertCount(7, $calls);
279+
$this->assertCount(6, $calls);
280280
$this->assertSame('setConstraintValidatorFactory', $calls[0][0]);
281281
$this->assertEquals(array(new Reference('validator.validator_factory')), $calls[0][1]);
282282
$this->assertSame('setTranslator', $calls[1][0]);
@@ -289,8 +289,6 @@ public function testValidation()
289289
$this->assertSame(array('loadValidatorMetadata'), $calls[4][1]);
290290
$this->assertSame('setMetadataCache', $calls[5][0]);
291291
$this->assertEquals(array(new Reference('validator.mapping.cache.apc')), $calls[5][1]);
292-
$this->assertSame('setApiVersion', $calls[6][0]);
293-
$this->assertEquals(array(Validation::API_VERSION_2_5_BC), $calls[6][1]);
294292
}
295293

296294
/**
@@ -306,14 +304,14 @@ public function testLegacyFullyConfiguredValidationService()
306304

307305
$container = $this->createContainerFromFile('full');
308306

309-
$this->assertInstanceOf('Symfony\Component\Validator\ValidatorInterface', $container->get('validator'));
307+
$this->assertInstanceOf('Symfony\Component\Validator\Validator\ValidatorInterface', $container->get('validator'));
310308
}
311309

312310
public function testValidationService()
313311
{
314312
$container = $this->createContainerFromFile('validation_annotations');
315313

316-
$this->assertInstanceOf('Symfony\Component\Validator\ValidatorInterface', $container->get('validator'));
314+
$this->assertInstanceOf('Symfony\Component\Validator\Validator\ValidatorInterface', $container->get('validator'));
317315
}
318316

319317
public function testAnnotations()
@@ -337,7 +335,7 @@ public function testValidationAnnotations()
337335

338336
$calls = $container->getDefinition('validator.builder')->getMethodCalls();
339337

340-
$this->assertCount(7, $calls);
338+
$this->assertCount(6, $calls);
341339
$this->assertSame('enableAnnotationMapping', $calls[4][0]);
342340
$this->assertEquals(array(new Reference('annotation_reader')), $calls[4][1]);
343341
$this->assertSame('addMethodMapping', $calls[5][0]);
@@ -355,7 +353,7 @@ public function testValidationPaths()
355353

356354
$calls = $container->getDefinition('validator.builder')->getMethodCalls();
357355

358-
$this->assertCount(8, $calls);
356+
$this->assertCount(7, $calls);
359357
$this->assertSame('addXmlMappings', $calls[3][0]);
360358
$this->assertSame('addYamlMappings', $calls[4][0]);
361359
$this->assertSame('enableAnnotationMapping', $calls[5][0]);
@@ -378,79 +376,11 @@ public function testValidationNoStaticMethod()
378376

379377
$calls = $container->getDefinition('validator.builder')->getMethodCalls();
380378

381-
$this->assertCount(5, $calls);
379+
$this->assertCount(4, $calls);
382380
$this->assertSame('addXmlMappings', $calls[3][0]);
383381
// no cache, no annotations, no static methods
384382
}
385383

386-
public function testValidation2Dot5Api()
387-
{
388-
$container = $this->createContainerFromFile('validation_2_5_api');
389-
390-
$calls = $container->getDefinition('validator.builder')->getMethodCalls();
391-
392-
$this->assertCount(6, $calls);
393-
$this->assertSame('addXmlMappings', $calls[3][0]);
394-
$this->assertSame('addMethodMapping', $calls[4][0]);
395-
$this->assertSame(array('loadValidatorMetadata'), $calls[4][1]);
396-
$this->assertSame('setApiVersion', $calls[5][0]);
397-
$this->assertSame(array(Validation::API_VERSION_2_5), $calls[5][1]);
398-
$this->assertSame('Symfony\Component\Validator\Validator\ValidatorInterface', $container->getParameter('validator.class'));
399-
// no cache, no annotations
400-
}
401-
402-
public function testValidation2Dot5BcApi()
403-
{
404-
$container = $this->createContainerFromFile('validation_2_5_bc_api');
405-
406-
$calls = $container->getDefinition('validator.builder')->getMethodCalls();
407-
408-
$this->assertCount(6, $calls);
409-
$this->assertSame('addXmlMappings', $calls[3][0]);
410-
$this->assertSame('addMethodMapping', $calls[4][0]);
411-
$this->assertSame(array('loadValidatorMetadata'), $calls[4][1]);
412-
$this->assertSame('setApiVersion', $calls[5][0]);
413-
$this->assertSame(array(Validation::API_VERSION_2_5_BC), $calls[5][1]);
414-
$this->assertSame('Symfony\Component\Validator\ValidatorInterface', $container->getParameter('validator.class'));
415-
// no cache, no annotations
416-
}
417-
418-
public function testValidationImplicitApi()
419-
{
420-
$container = $this->createContainerFromFile('validation_implicit_api');
421-
422-
$calls = $container->getDefinition('validator.builder')->getMethodCalls();
423-
424-
$this->assertCount(6, $calls);
425-
$this->assertSame('addXmlMappings', $calls[3][0]);
426-
$this->assertSame('addMethodMapping', $calls[4][0]);
427-
$this->assertSame(array('loadValidatorMetadata'), $calls[4][1]);
428-
$this->assertSame('setApiVersion', $calls[5][0]);
429-
// no cache, no annotations
430-
431-
$this->assertSame(array(Validation::API_VERSION_2_5_BC), $calls[5][1]);
432-
}
433-
434-
/**
435-
* This feature is equivalent to the implicit api, only that the "api"
436-
* key is explicitly set to "auto".
437-
*/
438-
public function testValidationAutoApi()
439-
{
440-
$container = $this->createContainerFromFile('validation_auto_api');
441-
442-
$calls = $container->getDefinition('validator.builder')->getMethodCalls();
443-
444-
$this->assertCount(6, $calls);
445-
$this->assertSame('addXmlMappings', $calls[3][0]);
446-
$this->assertSame('addMethodMapping', $calls[4][0]);
447-
$this->assertSame(array('loadValidatorMetadata'), $calls[4][1]);
448-
$this->assertSame('setApiVersion', $calls[5][0]);
449-
// no cache, no annotations
450-
451-
$this->assertSame(array(Validation::API_VERSION_2_5_BC), $calls[5][1]);
452-
}
453-
454384
public function testFormsCanBeEnabledWithoutCsrfProtection()
455385
{
456386
$container = $this->createContainerFromFile('form_no_csrf');

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.