Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 28dac38

Browse files
Make as many services private as possible
1 parent 2fde094 commit 28dac38

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+318
-128
lines changed

REMAINING.PUBLIC.md

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
### Remaining public aliases
2+
3+
annotation_reader
4+
cache.app_clearer
5+
$commandId
6+
debug.templating.engine.php
7+
profiler.request_matcher
8+
router
9+
security.access.decision_manager
10+
security.acl.cache
11+
security.acl.dbal.connection
12+
security.acl.provider
13+
security.encoder_factory
14+
security.firewall
15+
security.password_encoder
16+
session.handler
17+
session.storage
18+
session.storage.filesystem
19+
templating
20+
templating.loader
21+
translator
22+
twig.loader
23+
24+
### Remaining public services
25+
26+
cache.adapter.* <- pools are private by default when created by config so not a pb
27+
cache.app
28+
cache_clearer <- for the cache:clear command
29+
cache.global_clearer <- for the cache:pool:clear command to clear all pools
30+
cache.system
31+
cache_warmer <- required to bootstrap the kernel
32+
data_collector.cache
33+
data_collector.dump
34+
event_dispatcher <- required to wire console apps
35+
file_locator
36+
filesystem
37+
form.factory
38+
form.type.* <- deprecated
39+
http_kernel <- required to bootstrap the kernel
40+
kernel
41+
profiler <- used in tests
42+
property_accessor
43+
property_info
44+
request_stack
45+
routing.loader <- used by routing
46+
security.acl.dbal.schema
47+
security.authentication_utils
48+
security.authorization_checker
49+
security.csrf.token_manager
50+
security.firewall
51+
security.token_storage
52+
security.validator.user_password
53+
serializer
54+
session
55+
state_machine.abstract <- state machines created by config are public
56+
workflow.abstract <- workflows created by config are public
57+
test.client
58+
translation.extractor
59+
translation.loader
60+
translation.reader
61+
translation.writer
62+
translator
63+
twig
64+
twig.controller.exception
65+
twig.controller.preview_error
66+
validator
67+
var_dumper.cloner
68+
web_profiler.controller.exception
69+
web_profiler.controller.profiler
70+
web_profiler.controller.router

src/Symfony/Bridge/Doctrine/DependencyInjection/AbstractDoctrineExtension.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -333,6 +333,7 @@ protected function loadCacheDriver($cacheName, $objectManagerName, array $cacheD
333333
$memcachePort = !empty($cacheDriver['port']) || (isset($cacheDriver['port']) && $cacheDriver['port'] === 0) ? $cacheDriver['port'] : '%'.$this->getObjectManagerElementName('cache.memcache_port').'%';
334334
$cacheDef = new Definition($memcacheClass);
335335
$memcacheInstance = new Definition($memcacheInstanceClass);
336+
$memcacheInstance->setPublic(false)->addTag('container.private');
336337
$memcacheInstance->addMethodCall('connect', array(
337338
$memcacheHost, $memcachePort,
338339
));
@@ -346,6 +347,7 @@ protected function loadCacheDriver($cacheName, $objectManagerName, array $cacheD
346347
$memcachedPort = !empty($cacheDriver['port']) ? $cacheDriver['port'] : '%'.$this->getObjectManagerElementName('cache.memcached_port').'%';
347348
$cacheDef = new Definition($memcachedClass);
348349
$memcachedInstance = new Definition($memcachedInstanceClass);
350+
$memcachedInstance->setPublic(false)->addTag('container.private');
349351
$memcachedInstance->addMethodCall('addServer', array(
350352
$memcachedHost, $memcachedPort,
351353
));
@@ -359,6 +361,7 @@ protected function loadCacheDriver($cacheName, $objectManagerName, array $cacheD
359361
$redisPort = !empty($cacheDriver['port']) ? $cacheDriver['port'] : '%'.$this->getObjectManagerElementName('cache.redis_port').'%';
360362
$cacheDef = new Definition($redisClass);
361363
$redisInstance = new Definition($redisInstanceClass);
364+
$redisInstance->setPublic(false)->addTag('container.private');
362365
$redisInstance->addMethodCall('connect', array(
363366
$redisHost, $redisPort,
364367
));

src/Symfony/Bundle/DebugBundle/Resources/config/services.xml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,16 @@
2222
<argument>null</argument><!-- var_dumper.cli_dumper when debug.dump_destination is set -->
2323
</service>
2424

25-
<service id="debug.dump_listener" class="Symfony\Component\HttpKernel\EventListener\DumpListener" public="true">
25+
<service id="debug.dump_listener" class="Symfony\Component\HttpKernel\EventListener\DumpListener">
26+
<tag name="container.private" />
2627
<tag name="kernel.event_subscriber" />
2728
<argument type="service" id="var_dumper.cloner" />
2829
<argument type="service" id="var_dumper.cli_dumper" />
2930
</service>
3031

3132
<service id="var_dumper.cloner" class="Symfony\Component\VarDumper\Cloner\VarCloner" public="true" />
32-
<service id="var_dumper.cli_dumper" class="Symfony\Component\VarDumper\Dumper\CliDumper" public="true">
33+
<service id="var_dumper.cli_dumper" class="Symfony\Component\VarDumper\Dumper\CliDumper">
34+
<tag name="container.private" />
3335
<argument>null</argument><!-- debug.dump_destination -->
3436
<argument>%kernel.charset%</argument>
3537
<argument>0</argument> <!-- flags -->

src/Symfony/Bundle/DebugBundle/composer.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,12 @@
2424
},
2525
"require-dev": {
2626
"symfony/config": "~3.3|~4.0",
27-
"symfony/dependency-injection": "~3.3|~4.0",
27+
"symfony/dependency-injection": "~3.4|~4.0",
2828
"symfony/web-profiler-bundle": "~2.8|~3.0|~4.0"
2929
},
30+
"conflict": {
31+
"symfony/dependency-injection": "<3.4"
32+
},
3033
"suggest": {
3134
"symfony/config": "For service container configuration",
3235
"symfony/dependency-injection": "For using as a service from the container"

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -623,6 +623,7 @@ private function registerWorkflowConfiguration(array $config, ContainerBuilder $
623623
// Enable the AuditTrail
624624
if ($workflow['audit_trail']['enabled']) {
625625
$listener = new Definition(Workflow\EventListener\AuditTrailListener::class);
626+
$listener->setPublic(false)->addTag('container.private');
626627
$listener->addTag('monolog.logger', array('channel' => 'workflow'));
627628
$listener->addTag('kernel.event_listener', array('event' => sprintf('workflow.%s.leave', $name), 'method' => 'onLeave'));
628629
$listener->addTag('kernel.event_listener', array('event' => sprintf('workflow.%s.transition', $name), 'method' => 'onTransition'));
@@ -633,6 +634,7 @@ private function registerWorkflowConfiguration(array $config, ContainerBuilder $
633634

634635
// Add Guard Listener
635636
$guard = new Definition(Workflow\EventListener\GuardListener::class);
637+
$guard->setPublic(false)->addTag('container.private');
636638
$configuration = array();
637639
foreach ($workflow['transitions'] as $transitionName => $config) {
638640
if (!isset($config['guard'])) {
@@ -679,7 +681,7 @@ private function registerDebugConfiguration(array $config, ContainerBuilder $con
679681
$loader->load('debug_prod.xml');
680682

681683
if (class_exists(Stopwatch::class)) {
682-
$container->register('debug.stopwatch', Stopwatch::class)->addArgument(true);
684+
$container->register('debug.stopwatch', Stopwatch::class)->addArgument(true)->setPublic(false)->addTag('container.private');
683685
$container->setAlias(Stopwatch::class, new Alias('debug.stopwatch', false));
684686
}
685687

@@ -1496,6 +1498,7 @@ private function registerPropertyInfoConfiguration(array $config, ContainerBuild
14961498

14971499
if (interface_exists('phpDocumentor\Reflection\DocBlockFactoryInterface')) {
14981500
$definition = $container->register('property_info.php_doc_extractor', 'Symfony\Component\PropertyInfo\Extractor\PhpDocExtractor');
1501+
$definition->setPublic(false)->addTag('container.private');
14991502
$definition->addTag('property_info.description_extractor', array('priority' => -1000));
15001503
$definition->addTag('property_info.type_extractor', array('priority' => -1001));
15011504
}

src/Symfony/Bundle/FrameworkBundle/Resources/config/assets.xml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
<services>
88
<defaults public="false" />
99

10-
<service id="assets.packages" class="Symfony\Component\Asset\Packages" public="true">
10+
<service id="assets.packages" class="Symfony\Component\Asset\Packages">
11+
<tag name="container.private" />
1112
<argument type="service" id="assets.empty_package" /> <!-- default package -->
1213
<argument type="collection" /> <!-- named packages -->
1314
</service>
@@ -17,23 +18,27 @@
1718
<argument type="service" id="assets.empty_version_strategy" />
1819
</service>
1920

20-
<service id="assets.context" class="Symfony\Component\Asset\Context\RequestStackContext" public="true">
21+
<service id="assets.context" class="Symfony\Component\Asset\Context\RequestStackContext">
22+
<tag name="container.private" />
2123
<argument type="service" id="request_stack" />
2224
</service>
2325

24-
<service id="assets.path_package" class="Symfony\Component\Asset\PathPackage" abstract="true" public="true">
26+
<service id="assets.path_package" class="Symfony\Component\Asset\PathPackage" abstract="true">
27+
<tag name="container.private" />
2528
<argument /> <!-- base path -->
2629
<argument /> <!-- version strategy -->
2730
<argument type="service" id="assets.context" />
2831
</service>
2932

30-
<service id="assets.url_package" class="Symfony\Component\Asset\UrlPackage" abstract="true" public="true">
33+
<service id="assets.url_package" class="Symfony\Component\Asset\UrlPackage" abstract="true">
34+
<tag name="container.private" />
3135
<argument /> <!-- base URLs -->
3236
<argument /> <!-- version strategy -->
3337
<argument type="service" id="assets.context" />
3438
</service>
3539

36-
<service id="assets.static_version_strategy" class="Symfony\Component\Asset\VersionStrategy\StaticVersionStrategy" abstract="true" public="true">
40+
<service id="assets.static_version_strategy" class="Symfony\Component\Asset\VersionStrategy\StaticVersionStrategy" abstract="true">
41+
<tag name="container.private" />
3742
<argument /> <!-- version -->
3843
<argument /> <!-- format -->
3944
</service>

src/Symfony/Bundle/FrameworkBundle/Resources/config/cache.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,8 @@
100100
</call>
101101
</service>
102102

103-
<service id="cache.default_clearer" class="Symfony\Component\HttpKernel\CacheClearer\Psr6CacheClearer" public="true">
103+
<service id="cache.default_clearer" class="Symfony\Component\HttpKernel\CacheClearer\Psr6CacheClearer">
104+
<tag name="container.private" />
104105
<tag name="kernel.cache_clearer" />
105106
</service>
106107

src/Symfony/Bundle/FrameworkBundle/Resources/config/collectors.xml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212
<call method="setKernel"><argument type="service" id="kernel" on-invalid="ignore" /></call>
1313
</service>
1414

15-
<service id="data_collector.request" class="Symfony\Bundle\FrameworkBundle\DataCollector\RequestDataCollector" public="true">
15+
<service id="data_collector.request" class="Symfony\Bundle\FrameworkBundle\DataCollector\RequestDataCollector">
16+
<tag name="container.private" />
1617
<tag name="kernel.event_subscriber" />
1718
<tag name="data_collector" template="@WebProfiler/Collector/request.html.twig" id="request" priority="335" />
1819
</service>
@@ -47,7 +48,8 @@
4748
<tag name="data_collector" template="@WebProfiler/Collector/memory.html.twig" id="memory" priority="325" />
4849
</service>
4950

50-
<service id="data_collector.router" class="Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector" public="true">
51+
<service id="data_collector.router" class="Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector">
52+
<tag name="container.private" />
5153
<tag name="kernel.event_listener" event="kernel.controller" method="onKernelController"/>
5254
<tag name="data_collector" template="@WebProfiler/Collector/router.html.twig" id="router" priority="285" />
5355
</service>

src/Symfony/Bundle/FrameworkBundle/Resources/config/debug.xml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,20 +7,23 @@
77
<services>
88
<defaults public="false" />
99

10-
<service id="debug.event_dispatcher" class="Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher" decorates="event_dispatcher" public="true">
10+
<service id="debug.event_dispatcher" class="Symfony\Component\HttpKernel\Debug\TraceableEventDispatcher" decorates="event_dispatcher">
11+
<tag name="container.private" />
1112
<tag name="monolog.logger" channel="event" />
1213
<argument type="service" id="debug.event_dispatcher.inner" />
1314
<argument type="service" id="debug.stopwatch" />
1415
<argument type="service" id="logger" on-invalid="null" />
1516
</service>
1617

17-
<service id="debug.controller_resolver" decorates="controller_resolver" class="Symfony\Component\HttpKernel\Controller\TraceableControllerResolver" public="true">
18+
<service id="debug.controller_resolver" decorates="controller_resolver" class="Symfony\Component\HttpKernel\Controller\TraceableControllerResolver">
19+
<tag name="container.private" />
1820
<argument type="service" id="debug.controller_resolver.inner" />
1921
<argument type="service" id="debug.stopwatch" />
2022
<argument type="service" id="argument_resolver" />
2123
</service>
2224

23-
<service id="debug.argument_resolver" decorates="argument_resolver" class="Symfony\Component\HttpKernel\Controller\TraceableArgumentResolver" public="true">
25+
<service id="debug.argument_resolver" decorates="argument_resolver" class="Symfony\Component\HttpKernel\Controller\TraceableArgumentResolver">
26+
<tag name="container.private" />
2427
<argument type="service" id="debug.argument_resolver.inner" />
2528
<argument type="service" id="debug.stopwatch" />
2629
</service>

src/Symfony/Bundle/FrameworkBundle/Resources/config/debug_prod.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@
1111
<services>
1212
<defaults public="false" />
1313

14-
<service id="debug.debug_handlers_listener" class="Symfony\Component\HttpKernel\EventListener\DebugHandlersListener" public="true">
14+
<service id="debug.debug_handlers_listener" class="Symfony\Component\HttpKernel\EventListener\DebugHandlersListener">
15+
<tag name="container.private" />
1516
<tag name="kernel.event_subscriber" />
1617
<tag name="monolog.logger" channel="php" />
1718
<argument>null</argument><!-- Exception handler -->

src/Symfony/Bundle/FrameworkBundle/Resources/config/esi.xml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@
77
<services>
88
<defaults public="false" />
99

10-
<service id="esi" class="Symfony\Component\HttpKernel\HttpCache\Esi" public="true" />
10+
<service id="esi" class="Symfony\Component\HttpKernel\HttpCache\Esi">
11+
<tag name="container.private" />
12+
</service>
1113

12-
<service id="esi_listener" class="Symfony\Component\HttpKernel\EventListener\SurrogateListener" public="true">
14+
<service id="esi_listener" class="Symfony\Component\HttpKernel\EventListener\SurrogateListener">
15+
<tag name="container.private" />
1316
<tag name="kernel.event_subscriber" />
1417
<argument type="service" id="esi" on-invalid="ignore" />
1518
</service>

src/Symfony/Bundle/FrameworkBundle/Resources/config/form.xml

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@
88
<defaults public="false" />
99

1010
<!-- ResolvedFormTypeFactory -->
11-
<service id="form.resolved_type_factory" class="Symfony\Component\Form\ResolvedFormTypeFactory" public="true" />
11+
<service id="form.resolved_type_factory" class="Symfony\Component\Form\ResolvedFormTypeFactory">
12+
<tag name="container.private" />
13+
</service>
1214
<service id="Symfony\Component\Form\ResolvedFormTypeFactoryInterface" alias="form.resolved_type_factory" />
1315

1416
<!-- FormRegistry -->
15-
<service id="form.registry" class="Symfony\Component\Form\FormRegistry" public="true">
17+
<service id="form.registry" class="Symfony\Component\Form\FormRegistry">
18+
<tag name="container.private" />
1619
<argument type="collection">
1720
<!--
1821
We don't need to be able to add more extensions.
@@ -43,6 +46,7 @@
4346

4447
<!-- ValidatorTypeGuesser -->
4548
<service id="form.type_guesser.validator" class="Symfony\Component\Form\Extension\Validator\ValidatorTypeGuesser">
49+
<tag name="container.private" />
4650
<tag name="form.type_guesser" />
4751
<argument type="service" id="validator.mapping.class_metadata_factory" />
4852
</service>
@@ -65,6 +69,7 @@
6569

6670
<service id="form.type.form" class="Symfony\Component\Form\Extension\Core\Type\FormType">
6771
<argument type="service" id="form.property_accessor" />
72+
<tag name="container.private" />
6873
<tag name="form.type" />
6974
</service>
7075
<service id="form.type.birthday" class="Symfony\Component\Form\Extension\Core\Type\BirthdayType" public="true">
@@ -74,6 +79,7 @@
7479
<deprecated>The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0.</deprecated>
7580
</service>
7681
<service id="form.type.choice" class="Symfony\Component\Form\Extension\Core\Type\ChoiceType">
82+
<tag name="container.private" />
7783
<tag name="form.type" />
7884
<argument type="service" id="form.choice_list_factory"/>
7985
</service>
@@ -162,6 +168,7 @@
162168
<!-- FormTypeHttpFoundationExtension -->
163169
<service id="form.type_extension.form.http_foundation" class="Symfony\Component\Form\Extension\HttpFoundation\Type\FormTypeHttpFoundationExtension">
164170
<argument type="service" id="form.type_extension.form.request_handler" />
171+
<tag name="container.private" />
165172
<tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\FormType" />
166173
</service>
167174

@@ -176,32 +183,28 @@
176183

177184
<!-- FormTypeValidatorExtension -->
178185
<service id="form.type_extension.form.validator" class="Symfony\Component\Form\Extension\Validator\Type\FormTypeValidatorExtension">
186+
<tag name="container.private" />
179187
<tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\FormType" />
180188
<argument type="service" id="validator" />
181189
</service>
182190
<service id="form.type_extension.repeated.validator" class="Symfony\Component\Form\Extension\Validator\Type\RepeatedTypeValidatorExtension">
191+
<tag name="container.private" />
183192
<tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\RepeatedType" />
184193
</service>
185194
<service id="form.type_extension.submit.validator" class="Symfony\Component\Form\Extension\Validator\Type\SubmitTypeValidatorExtension">
195+
<tag name="container.private" />
186196
<tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\SubmitType" />
187197
</service>
188198
<service id="form.type_extension.upload.validator" class="Symfony\Component\Form\Extension\Validator\Type\UploadValidatorExtension">
199+
<tag name="container.private" />
189200
<tag name="form.type_extension" extended-type="Symfony\Component\Form\Extension\Core\Type\FormType" />
190201
<argument type="service" id="translator"/>
191202
<argument type="string">%validator.translation_domain%</argument>
192203
</service>
193204

194-
<service id="deprecated.form.registry" class="stdClass" public="true">
195-
<property name="registry" type="collection">
196-
<property type="service" id="form.type_guesser.validator" />
197-
<property type="service" id="form.type.choice" />
198-
<property type="service" id="form.type.form" />
199-
<property type="service" id="form.type_extension.form.http_foundation" />
200-
<property type="service" id="form.type_extension.form.validator" />
201-
<property type="service" id="form.type_extension.repeated.validator" />
202-
<property type="service" id="form.type_extension.submit.validator" />
203-
<property type="service" id="form.type_extension.upload.validator" />
204-
</property>
205+
<service id="deprecated.form.registry" class="stdClass">
206+
<tag name="container.private" />
207+
<property name="registry" type="collection" />
205208
<deprecated>The service "%service_id%" is internal and deprecated since Symfony 3.3 and will be removed in Symfony 4.0</deprecated>
206209
</service>
207210
</services>

0 commit comments

Comments
 (0)