Skip to content

Commit 4ad4302

Browse files
committed
[FrameworkBundle] Move web configuration to PHP
1 parent 5240c6f commit 4ad4302

File tree

5 files changed

+129
-102
lines changed

5 files changed

+129
-102
lines changed

DependencyInjection/FrameworkExtension.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ public function load(array $configs, ContainerBuilder $container)
173173

174174
$phpLoader = new PhpFileLoader($container, new FileLocator(\dirname(__DIR__).'/Resources/config'));
175175

176-
$loader->load('web.xml');
176+
$phpLoader->load('web.php');
177177
$loader->load('services.xml');
178178
$loader->load('fragment_renderer.xml');
179179
$loader->load('error_renderer.xml');
@@ -398,7 +398,7 @@ public function load(array $configs, ContainerBuilder $container)
398398
throw new LogicException('WebLink support cannot be enabled as the WebLink component is not installed. Try running "composer require symfony/weblink".');
399399
}
400400

401-
$loader->load('web_link.xml');
401+
$phpLoader->load('web_link.php');
402402
}
403403

404404
$this->addAnnotatedClassesToCompile([

Resources/config/web.php

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Symfony package.
5+
*
6+
* (c) Fabien Potencier <fabien@symfony.com>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
13+
14+
use Symfony\Bundle\FrameworkBundle\Controller\ControllerResolver;
15+
use Symfony\Component\HttpKernel\Controller\ArgumentResolver;
16+
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\DefaultValueResolver;
17+
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestAttributeValueResolver;
18+
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\RequestValueResolver;
19+
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\ServiceValueResolver;
20+
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\SessionValueResolver;
21+
use Symfony\Component\HttpKernel\Controller\ArgumentResolver\VariadicValueResolver;
22+
use Symfony\Component\HttpKernel\Controller\ErrorController;
23+
use Symfony\Component\HttpKernel\ControllerMetadata\ArgumentMetadataFactory;
24+
use Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener;
25+
use Symfony\Component\HttpKernel\EventListener\ErrorListener;
26+
use Symfony\Component\HttpKernel\EventListener\LocaleListener;
27+
use Symfony\Component\HttpKernel\EventListener\ResponseListener;
28+
use Symfony\Component\HttpKernel\EventListener\StreamedResponseListener;
29+
use Symfony\Component\HttpKernel\EventListener\ValidateRequestListener;
30+
31+
return static function (ContainerConfigurator $container) {
32+
$container->services()
33+
->set('controller_resolver', ControllerResolver::class)
34+
->args([
35+
service('service_container'),
36+
service('logger')->ignoreOnInvalid(),
37+
])
38+
->tag('monolog.logger', ['channel' => 'request'])
39+
40+
->set('argument_metadata_factory', ArgumentMetadataFactory::class)
41+
42+
->set('argument_resolver', ArgumentResolver::class)
43+
->args([
44+
service('argument_metadata_factory'),
45+
abstract_arg('argument value resolvers'),
46+
])
47+
48+
->set('argument_resolver.request_attribute', RequestAttributeValueResolver::class)
49+
->tag('controller.argument_value_resolver', ['priority' => 100])
50+
51+
->set('argument_resolver.request', RequestValueResolver::class)
52+
->tag('controller.argument_value_resolver', ['priority' => 50])
53+
54+
->set('argument_resolver.session', SessionValueResolver::class)
55+
->tag('controller.argument_value_resolver', ['priority' => 50])
56+
57+
->set('argument_resolver.service', ServiceValueResolver::class)
58+
->tag('controller.argument_value_resolver', ['priority' => -50])
59+
60+
->set('argument_resolver.default', DefaultValueResolver::class)
61+
->tag('controller.argument_value_resolver', ['priority' => -100])
62+
63+
->set('argument_resolver.variadic', VariadicValueResolver::class)
64+
->tag('controller.argument_value_resolver', ['priority' => -150])
65+
66+
->set('response_listener', ResponseListener::class)
67+
->args([
68+
param('kernel.charset'),
69+
])
70+
->tag('kernel.event_subscriber')
71+
72+
->set('streamed_response_listener', StreamedResponseListener::class)
73+
->tag('kernel.event_subscriber')
74+
75+
->set('locale_listener', LocaleListener::class)
76+
->args([
77+
service('request_stack'),
78+
param('kernel.default_locale'),
79+
service('router')->ignoreOnInvalid(),
80+
])
81+
->tag('kernel.event_subscriber')
82+
83+
->set('validate_request_listener', ValidateRequestListener::class)
84+
->tag('kernel.event_subscriber')
85+
86+
->set('disallow_search_engine_index_response_listener', DisallowRobotsIndexingListener::class)
87+
->tag('kernel.event_subscriber')
88+
89+
->set('error_controller', ErrorController::class)
90+
->public()
91+
->args([
92+
service('http_kernel'),
93+
param('kernel.error_controller'),
94+
service('error_renderer'),
95+
])
96+
97+
->set('exception_listener', ErrorListener::class)
98+
->args([
99+
param('kernel.error_controller'),
100+
service('logger')->nullOnInvalid(),
101+
param('kernel.debug'),
102+
])
103+
->tag('kernel.event_subscriber')
104+
->tag('monolog.logger', ['channel' => 'request'])
105+
;
106+
};

Resources/config/web.xml

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

Resources/config/web_link.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Symfony package.
5+
*
6+
* (c) Fabien Potencier <fabien@symfony.com>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Component\DependencyInjection\Loader\Configurator;
13+
14+
use Symfony\Component\WebLink\EventListener\AddLinkHeaderListener;
15+
16+
return static function (ContainerConfigurator $container) {
17+
$container->services()
18+
->set('web_link.add_link_header_listener', AddLinkHeaderListener::class)
19+
->tag('kernel.event_subscriber')
20+
;
21+
};

Resources/config/web_link.xml

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

0 commit comments

Comments
 (0)