Skip to content

Commit 189860e

Browse files
committed
Switch to php for service configurations
Using xml is deprecated in symfony 7.4
1 parent 4d6c0c5 commit 189860e

30 files changed

+317
-327
lines changed

DependencyInjection/FOSRestExtension.php

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
use Symfony\Component\DependencyInjection\ContainerInterface;
2424
use Symfony\Component\DependencyInjection\Definition;
2525
use Symfony\Component\DependencyInjection\Exception\LogicException;
26-
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
26+
use Symfony\Component\DependencyInjection\Loader\PhpFileLoader;
2727
use Symfony\Component\DependencyInjection\Reference;
2828
use Symfony\Component\Form\Extension\Core\Type\FormType;
2929
use Symfony\Component\HttpFoundation\ChainRequestMatcher;
@@ -51,10 +51,10 @@ public function getConfiguration(array $config, ContainerBuilder $container): Co
5151

5252
protected function loadInternal(array $mergedConfig, ContainerBuilder $container): void
5353
{
54-
$loader = new XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
55-
$loader->load('view.xml');
56-
$loader->load('request.xml');
57-
$loader->load('serializer.xml');
54+
$loader = new PhpFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
55+
$loader->load('view.php');
56+
$loader->load('request.php');
57+
$loader->load('serializer.php');
5858

5959
foreach ($mergedConfig['service'] as $key => $service) {
6060
if ('validator' === $service && empty($mergedConfig['body_converter']['validate'])) {
@@ -86,35 +86,35 @@ protected function loadInternal(array $mergedConfig, ContainerBuilder $container
8686
$this->loadSerializer($mergedConfig, $container);
8787
}
8888

89-
private function loadForm(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
89+
private function loadForm(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
9090
{
9191
if (!empty($config['disable_csrf_role'])) {
92-
$loader->load('forms.xml');
92+
$loader->load('forms.php');
9393

9494
$definition = $container->getDefinition('fos_rest.form.extension.csrf_disable');
9595
$definition->replaceArgument(1, $config['disable_csrf_role']);
9696
$definition->addTag('form.type_extension', ['extended_type' => FormType::class]);
9797
}
9898
}
9999

100-
private function loadAllowedMethodsListener(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
100+
private function loadAllowedMethodsListener(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
101101
{
102102
if ($this->isConfigEnabled($container, $config['allowed_methods_listener'])) {
103103
if (!empty($config['allowed_methods_listener']['service'])) {
104104
$service = $container->getDefinition('fos_rest.allowed_methods_listener');
105105
$service->clearTag('kernel.event_listener');
106106
}
107107

108-
$loader->load('allowed_methods_listener.xml');
108+
$loader->load('allowed_methods_listener.php');
109109

110110
$container->getDefinition('fos_rest.allowed_methods_loader')->replaceArgument(1, $config['cache_dir']);
111111
}
112112
}
113113

114-
private function loadBodyListener(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
114+
private function loadBodyListener(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
115115
{
116116
if ($this->isConfigEnabled($container, $config['body_listener'])) {
117-
$loader->load('body_listener.xml');
117+
$loader->load('body_listener.php');
118118

119119
$service = $container->getDefinition('fos_rest.body_listener');
120120

@@ -146,10 +146,10 @@ private function loadBodyListener(array $config, XmlFileLoader $loader, Containe
146146
}
147147
}
148148

149-
private function loadFormatListener(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
149+
private function loadFormatListener(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
150150
{
151151
if ($this->isConfigEnabled($container, $config['format_listener']) && !empty($config['format_listener']['rules'])) {
152-
$loader->load('format_listener.xml');
152+
$loader->load('format_listener.php');
153153

154154
if (!empty($config['format_listener']['service'])) {
155155
$service = $container->getDefinition('fos_rest.format_listener');
@@ -163,10 +163,10 @@ private function loadFormatListener(array $config, XmlFileLoader $loader, Contai
163163
}
164164
}
165165

166-
private function loadVersioning(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
166+
private function loadVersioning(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
167167
{
168168
if ($this->isConfigEnabled($container, $config['versioning'])) {
169-
$loader->load('versioning.xml');
169+
$loader->load('versioning.php');
170170

171171
$versionListener = $container->getDefinition('fos_rest.versioning.listener');
172172
$versionListener->replaceArgument(1, $config['versioning']['default_version']);
@@ -194,14 +194,14 @@ private function loadVersioning(array $config, XmlFileLoader $loader, ContainerB
194194
}
195195
}
196196

197-
private function loadParamFetcherListener(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
197+
private function loadParamFetcherListener(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
198198
{
199199
if ($this->isConfigEnabled($container, $config['param_fetcher_listener'])) {
200200
if (!class_exists(Constraint::class)) {
201201
throw new \LogicException('Enabling the fos_rest.param_fetcher_listener option when the Symfony Validator component is not installed is not supported. Try installing the symfony/validator package.');
202202
}
203203

204-
$loader->load('param_fetcher_listener.xml');
204+
$loader->load('param_fetcher_listener.php');
205205

206206
if (!empty($config['param_fetcher_listener']['service'])) {
207207
$service = $container->getDefinition('fos_rest.param_fetcher_listener');
@@ -214,7 +214,7 @@ private function loadParamFetcherListener(array $config, XmlFileLoader $loader,
214214
}
215215
}
216216

217-
private function loadBodyConverter(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
217+
private function loadBodyConverter(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
218218
{
219219
if (!$this->isConfigEnabled($container, $config['body_converter'])) {
220220
return;
@@ -224,14 +224,14 @@ private function loadBodyConverter(array $config, XmlFileLoader $loader, Contain
224224
throw new LogicException('To use the request body param converter, the "sensio/framework-extra-bundle" package is required.');
225225
}
226226

227-
$loader->load('request_body_param_converter.xml');
227+
$loader->load('request_body_param_converter.php');
228228

229229
if (!empty($config['body_converter']['validation_errors_argument'])) {
230230
$container->getDefinition('fos_rest.converter.request_body')->replaceArgument(4, $config['body_converter']['validation_errors_argument']);
231231
}
232232
}
233233

234-
private function loadView(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
234+
private function loadView(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
235235
{
236236
if (!empty($config['view']['jsonp_handler'])) {
237237
$handler = new ChildDefinition($config['service']['view_handler']);
@@ -249,7 +249,7 @@ private function loadView(array $config, XmlFileLoader $loader, ContainerBuilder
249249
}
250250

251251
if ($this->isConfigEnabled($container, $config['view']['mime_types'])) {
252-
$loader->load('mime_type_listener.xml');
252+
$loader->load('mime_type_listener.php');
253253

254254
if (!empty($config['mime_type_listener']['service'])) {
255255
$service = $container->getDefinition('fos_rest.mime_type_listener');
@@ -260,7 +260,7 @@ private function loadView(array $config, XmlFileLoader $loader, ContainerBuilder
260260
}
261261

262262
if ($this->isConfigEnabled($container, $config['view']['view_response_listener'])) {
263-
$loader->load('view_response_listener.xml');
263+
$loader->load('view_response_listener.php');
264264
$service = $container->getDefinition('fos_rest.view_response_listener');
265265

266266
if (!empty($config['view_response_listener']['service'])) {
@@ -298,10 +298,10 @@ private function loadView(array $config, XmlFileLoader $loader, ContainerBuilder
298298
]);
299299
}
300300

301-
private function loadException(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
301+
private function loadException(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
302302
{
303303
if ($this->isConfigEnabled($container, $config['exception'])) {
304-
$loader->load('exception.xml');
304+
$loader->load('exception.php');
305305

306306
if ($config['exception']['map_exception_codes']) {
307307
$container->register('fos_rest.exception.response_status_code_listener', ResponseStatusCodeListener::class)
@@ -373,10 +373,10 @@ private function loadSerializer(array $config, ContainerBuilder $container): voi
373373
$viewHandler->addArgument($options);
374374
}
375375

376-
private function loadZoneMatcherListener(array $config, XmlFileLoader $loader, ContainerBuilder $container): void
376+
private function loadZoneMatcherListener(array $config, PhpFileLoader $loader, ContainerBuilder $container): void
377377
{
378378
if (!empty($config['zone'])) {
379-
$loader->load('zone_matcher_listener.xml');
379+
$loader->load('zone_matcher_listener.php');
380380
$zoneMatcherListener = $container->getDefinition('fos_rest.zone_matcher_listener');
381381

382382
foreach ($config['zone'] as $zone) {
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
4+
5+
return static function (ContainerConfigurator $container) {
6+
$services = $container->services();
7+
$parameters = $container->parameters();
8+
9+
$services->set('fos_rest.allowed_methods_listener', \FOS\RestBundle\EventListener\AllowedMethodsListener::class)
10+
->args([service('fos_rest.allowed_methods_loader')])
11+
->tag('kernel.event_listener', ['event' => 'kernel.response', 'method' => 'onKernelResponse']);
12+
13+
$services->set('fos_rest.allowed_methods_loader', \FOS\RestBundle\Response\AllowedMethodsLoader\AllowedMethodsRouterLoader::class)
14+
->private()
15+
->args([
16+
service('router'),
17+
'',
18+
'%kernel.debug%',
19+
])
20+
->tag('kernel.cache_warmer');
21+
};

Resources/config/allowed_methods_listener.xml

Lines changed: 0 additions & 22 deletions
This file was deleted.

Resources/config/body_listener.php

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
3+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
4+
5+
return static function (ContainerConfigurator $container) {
6+
$services = $container->services();
7+
$parameters = $container->parameters();
8+
9+
$services->set('fos_rest.normalizer.camel_keys', \FOS\RestBundle\Normalizer\CamelKeysNormalizer::class);
10+
11+
$services->set('fos_rest.normalizer.camel_keys_with_leading_underscore', \FOS\RestBundle\Normalizer\CamelKeysNormalizerWithLeadingUnderscore::class);
12+
13+
$services->set('fos_rest.decoder.json', \FOS\RestBundle\Decoder\JsonDecoder::class);
14+
15+
$services->set('fos_rest.decoder.jsontoform', \FOS\RestBundle\Decoder\JsonToFormDecoder::class);
16+
17+
$services->set('fos_rest.decoder.xml', \FOS\RestBundle\Decoder\XmlDecoder::class);
18+
19+
$services->set('fos_rest.decoder_provider', \FOS\RestBundle\Decoder\ContainerDecoderProvider::class)
20+
->args([
21+
service('service_container'),
22+
[],
23+
]);
24+
25+
$services->set('fos_rest.body_listener', \FOS\RestBundle\EventListener\BodyListener::class)
26+
->args([
27+
service('fos_rest.decoder_provider'),
28+
'',
29+
])
30+
->tag('kernel.event_listener', ['event' => 'kernel.request', 'method' => 'onKernelRequest', 'priority' => 10]);
31+
};

Resources/config/body_listener.xml

Lines changed: 0 additions & 31 deletions
This file was deleted.

Resources/config/exception.php

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
<?php
2+
3+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
4+
5+
return static function (ContainerConfigurator $container) {
6+
$services = $container->services();
7+
$parameters = $container->parameters();
8+
9+
$services->set('fos_rest.exception.codes_map', \FOS\RestBundle\Util\ExceptionValueMap::class)
10+
->private()
11+
->args([[]]);
12+
13+
$services->set('fos_rest.exception.messages_map', \FOS\RestBundle\Util\ExceptionValueMap::class)
14+
->private()
15+
->args([[]]);
16+
17+
$services->set('fos_rest.serializer.flatten_exception_handler', \FOS\RestBundle\Serializer\Normalizer\FlattenExceptionHandler::class)
18+
->private()
19+
->args([
20+
service('fos_rest.exception.codes_map'),
21+
service('fos_rest.exception.messages_map'),
22+
'',
23+
'',
24+
])
25+
->tag('jms_serializer.subscribing_handler');
26+
27+
$services->set('fos_rest.serializer.flatten_exception_normalizer', \FOS\RestBundle\Serializer\Normalizer\FlattenExceptionNormalizer::class)
28+
->private()
29+
->args([
30+
service('fos_rest.exception.codes_map'),
31+
service('fos_rest.exception.messages_map'),
32+
'',
33+
'',
34+
])
35+
->tag('serializer.normalizer', ['priority' => -10]);
36+
};

Resources/config/exception.xml

Lines changed: 0 additions & 32 deletions
This file was deleted.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
4+
5+
return static function (ContainerConfigurator $container) {
6+
$services = $container->services();
7+
$parameters = $container->parameters();
8+
9+
$services->set('fos_rest.format_listener', \FOS\RestBundle\EventListener\FormatListener::class)
10+
->args([service('fos_rest.format_negotiator')])
11+
->tag('kernel.event_listener', ['event' => 'kernel.request', 'method' => 'onKernelRequest', 'priority' => 34]);
12+
13+
$services->set('fos_rest.format_negotiator', \FOS\RestBundle\Negotiation\FormatNegotiator::class)
14+
->args([service('request_stack')]);
15+
};

Resources/config/format_listener.xml

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)