Skip to content

Commit 37fa934

Browse files
committed
Improve deprecations DX
1 parent 30e08e1 commit 37fa934

File tree

2 files changed

+25
-32
lines changed

2 files changed

+25
-32
lines changed

DependencyInjection/Configuration.php

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -463,44 +463,37 @@ private function addExceptionSection(ArrayNodeDefinition $rootNode)
463463
->fixXmlConfig('message', 'messages')
464464
->addDefaultsIfNotSet()
465465
->canBeEnabled()
466+
->validate()
467+
->always()
468+
->then(function ($v) {
469+
if (!$v['enabled']) {
470+
return $v;
471+
}
472+
473+
if ($v['exception_listener']) {
474+
@trigger_error('Enabling the "fos_rest.exception.exception_listener" option is deprecated since FOSRestBundle 2.8.', E_USER_DEPRECATED);
475+
}
476+
if ($v['serialize_exceptions']) {
477+
@trigger_error('Enabling the "fos_rest.exception.serialize_exceptions" option is deprecated since FOSRestBundle 2.8.', E_USER_DEPRECATED);
478+
}
479+
480+
return $v;
481+
})
482+
->end()
466483
->children()
467484
->booleanNode('map_exception_codes')
468485
->defaultFalse()
469486
->info('Enables an event listener that maps exception codes to response status codes based on the map configured with the "fos_rest.exception.codes" option.')
470487
->end()
471488
->booleanNode('exception_listener')
472-
->defaultValue(function () {
473-
@trigger_error('Enabling the "fos_rest.exception.exception_listener" option is deprecated since FOSRestBundle 2.8.', E_USER_DEPRECATED);
474-
475-
return true;
476-
})
477-
->beforeNormalization()
478-
->ifTrue()
479-
->then(function ($v) {
480-
@trigger_error('Enabling the "fos_rest.exception.exception_listener" option is deprecated since FOSRestBundle 2.8.', E_USER_DEPRECATED);
481-
482-
return $v;
483-
})
484-
->end()
489+
->defaultTrue()
485490
->end()
486491
->scalarNode('exception_controller')
487492
->defaultNull()
488493
->setDeprecated('The "%path%.%node%" option is deprecated since FOSRestBundle 2.8.')
489494
->end()
490495
->booleanNode('serialize_exceptions')
491-
->defaultValue(function () {
492-
@trigger_error('Enabling the "fos_rest.exception.serialize_exceptions" option is deprecated since FOSRestBundle 2.8.', E_USER_DEPRECATED);
493-
494-
return true;
495-
})
496-
->beforeNormalization()
497-
->ifTrue()
498-
->then(function ($v) {
499-
@trigger_error('Enabling the "fos_rest.exception.serialize_exceptions" option is deprecated since FOSRestBundle 2.8.', E_USER_DEPRECATED);
500-
501-
return $v;
502-
})
503-
->end()
496+
->defaultTrue()
504497
->end()
505498
->enumNode('flatten_exception_format')
506499
->defaultValue('legacy')

Resources/config/routing.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,18 @@
1010
<argument type="service" id="file_locator" />
1111
<argument type="service" id="fos_rest.routing.loader.processor" />
1212
<tag name="routing.loader" />
13-
<deprecated>The %service_id% service is deprecated since FOSRestBundle 2.8.</deprecated>
13+
<deprecated>The %service_id% service is deprecated since FOSRestBundle 2.8. You can disable it by setting the config `fos_rest.routing_loader.enabled` to `false`.</deprecated>
1414
</service>
1515

1616
<service id="fos_rest.routing.loader.controller" class="FOS\RestBundle\Routing\Loader\RestRouteLoader" public="false">
1717
<argument type="service" id="service_container" />
1818
<argument type="service" id="file_locator" />
1919
<tag name="routing.loader" />
20-
<deprecated>The %service_id% service is deprecated since FOSRestBundle 2.8.</deprecated>
20+
<deprecated>The %service_id% service is deprecated since FOSRestBundle 2.8. You can disable it by setting the config `fos_rest.routing_loader.enabled` to `false`.</deprecated>
2121
</service>
2222

2323
<service id="fos_rest.routing.loader.processor" class="FOS\RestBundle\Routing\Loader\RestRouteProcessor" public="false">
24-
<deprecated>The %service_id% service is deprecated since FOSRestBundle 2.8.</deprecated>
24+
<deprecated>The %service_id% service is deprecated since FOSRestBundle 2.8. You can disable it by setting the config `fos_rest.routing_loader.enabled` to `false`.</deprecated>
2525
</service>
2626

2727
<service id="fos_rest.routing.loader.yaml_collection" class="FOS\RestBundle\Routing\Loader\RestYamlCollectionLoader" public="false">
@@ -31,7 +31,7 @@
3131
<argument type="collection" /> <!-- formats -->
3232
<argument /> <!-- default format -->
3333
<tag name="routing.loader" />
34-
<deprecated>The %service_id% service is deprecated since FOSRestBundle 2.8.</deprecated>
34+
<deprecated>The %service_id% service is deprecated since FOSRestBundle 2.8. You can disable it by setting the config `fos_rest.routing_loader.enabled` to `false`.</deprecated>
3535
</service>
3636

3737
<service id="fos_rest.routing.loader.xml_collection" class="FOS\RestBundle\Routing\Loader\RestXmlCollectionLoader" public="false">
@@ -41,7 +41,7 @@
4141
<argument type="collection" /> <!-- formats -->
4242
<argument /> <!-- default format -->
4343
<tag name="routing.loader" />
44-
<deprecated>The %service_id% service is deprecated since FOSRestBundle 2.8.</deprecated>
44+
<deprecated>The %service_id% service is deprecated since FOSRestBundle 2.8. You can disable it by setting the config `fos_rest.routing_loader.enabled` to `false`.</deprecated>
4545
</service>
4646

4747
<service id="fos_rest.routing.loader.reader.controller" class="FOS\RestBundle\Routing\Loader\Reader\RestControllerReader" public="false">
@@ -57,7 +57,7 @@
5757
<argument /> <!-- include format -->
5858
<argument type="collection" /> <!-- formats -->
5959
<argument /> <!-- prefix_methods bool -->
60-
<deprecated>The %service_id% service is deprecated since FOSRestBundle 2.8.</deprecated>
60+
<deprecated>The %service_id% service is deprecated since FOSRestBundle 2.8. You can disable it by setting the config `fos_rest.routing_loader.enabled` to `false`.</deprecated>
6161
</service>
6262
</services>
6363

0 commit comments

Comments
 (0)