Skip to content

Commit 0d42616

Browse files
committed
minor #37215 [FrameworkBundle] Move web configuration to PHP (ck-developer, Tobion)
This PR was merged into the 5.2-dev branch. Discussion ---------- [FrameworkBundle] Move web configuration to PHP | Q | A | ------------- | --- | Branch? | master | Bug fix? | no | New feature? | no | Deprecations? | no | Tickets | Ref #37186 | License | MIT Commits ------- 9000e72a23 add missing abstract_arg to fix replace arguments 8a81abeb6f [FrameworkBundle] Move web configuration to PHP
2 parents 541fc85 + d3d924b commit 0d42616

File tree

5 files changed

+132
-102
lines changed

5 files changed

+132
-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
$phpLoader->load('fragment_renderer.php');
179179
$phpLoader->load('error_renderer.php');
@@ -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: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
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+
->args([
59+
abstract_arg('service locator, set in RegisterControllerArgumentLocatorsPass'),
60+
])
61+
->tag('controller.argument_value_resolver', ['priority' => -50])
62+
63+
->set('argument_resolver.default', DefaultValueResolver::class)
64+
->tag('controller.argument_value_resolver', ['priority' => -100])
65+
66+
->set('argument_resolver.variadic', VariadicValueResolver::class)
67+
->tag('controller.argument_value_resolver', ['priority' => -150])
68+
69+
->set('response_listener', ResponseListener::class)
70+
->args([
71+
param('kernel.charset'),
72+
])
73+
->tag('kernel.event_subscriber')
74+
75+
->set('streamed_response_listener', StreamedResponseListener::class)
76+
->tag('kernel.event_subscriber')
77+
78+
->set('locale_listener', LocaleListener::class)
79+
->args([
80+
service('request_stack'),
81+
param('kernel.default_locale'),
82+
service('router')->ignoreOnInvalid(),
83+
])
84+
->tag('kernel.event_subscriber')
85+
86+
->set('validate_request_listener', ValidateRequestListener::class)
87+
->tag('kernel.event_subscriber')
88+
89+
->set('disallow_search_engine_index_response_listener', DisallowRobotsIndexingListener::class)
90+
->tag('kernel.event_subscriber')
91+
92+
->set('error_controller', ErrorController::class)
93+
->public()
94+
->args([
95+
service('http_kernel'),
96+
param('kernel.error_controller'),
97+
service('error_renderer'),
98+
])
99+
100+
->set('exception_listener', ErrorListener::class)
101+
->args([
102+
param('kernel.error_controller'),
103+
service('logger')->nullOnInvalid(),
104+
param('kernel.debug'),
105+
])
106+
->tag('kernel.event_subscriber')
107+
->tag('monolog.logger', ['channel' => 'request'])
108+
;
109+
};

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)