Skip to content

Commit 05bb11c

Browse files
committed
Use XML definition
1 parent 7290c4a commit 05bb11c

File tree

3 files changed

+14
-26
lines changed

3 files changed

+14
-26
lines changed

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

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@
8484
use Symfony\Component\PropertyAccess\PropertyAccessor;
8585
use Symfony\Component\PropertyInfo\PropertyAccessExtractorInterface;
8686
use Symfony\Component\PropertyInfo\PropertyDescriptionExtractorInterface;
87-
use Symfony\Component\PropertyInfo\PropertyInfoCacheExtractor;
8887
use Symfony\Component\PropertyInfo\PropertyInfoExtractorInterface;
8988
use Symfony\Component\PropertyInfo\PropertyInitializableExtractorInterface;
9089
use Symfony\Component\PropertyInfo\PropertyListExtractorInterface;
@@ -100,7 +99,6 @@
10099
use Symfony\Component\Serializer\Encoder\DecoderInterface;
101100
use Symfony\Component\Serializer\Encoder\EncoderInterface;
102101
use Symfony\Component\Serializer\Mapping\ClassDiscriminatorFromClassMetadata;
103-
use Symfony\Component\Serializer\Mapping\Factory\CacheClassMetadataFactory;
104102
use Symfony\Component\Serializer\Normalizer\ConstraintViolationListNormalizer;
105103
use Symfony\Component\Serializer\Normalizer\DateIntervalNormalizer;
106104
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface;
@@ -1506,18 +1504,8 @@ private function registerSerializerConfiguration(array $config, ContainerBuilder
15061504
$chainLoader->replaceArgument(0, $serializerLoaders);
15071505
$container->getDefinition('serializer.mapping.cache_warmer')->replaceArgument(0, $serializerLoaders);
15081506

1509-
if (!$container->getParameter('kernel.debug')) {
1510-
$cacheMetadataFactory = new Definition(
1511-
CacheClassMetadataFactory::class,
1512-
[
1513-
new Reference('serializer.mapping.cache_class_metadata_factory.inner'),
1514-
new Reference('serializer.mapping.cache.symfony'),
1515-
]
1516-
);
1517-
$cacheMetadataFactory->setPublic(false);
1518-
$cacheMetadataFactory->setDecoratedService('serializer.mapping.class_metadata_factory');
1519-
1520-
$container->setDefinition('serializer.mapping.cache_class_metadata_factory', $cacheMetadataFactory);
1507+
if ($container->getParameter('kernel.debug')) {
1508+
$container->removeDefinition('serializer.mapping.cache_class_metadata_factory');
15211509
}
15221510

15231511
if (isset($config['name_converter']) && $config['name_converter']) {
@@ -1553,18 +1541,8 @@ private function registerPropertyInfoConfiguration(ContainerBuilder $container,
15531541
$definition->addTag('property_info.type_extractor', ['priority' => -1001]);
15541542
}
15551543

1556-
if (!$container->getParameter('kernel.debug')) {
1557-
$propertyInfoCache = new Definition(
1558-
PropertyInfoCacheExtractor::class,
1559-
[
1560-
new Reference('property_info.cache.inner'),
1561-
new Reference('cache.property_info'),
1562-
]
1563-
);
1564-
$propertyInfoCache->setPublic(false);
1565-
$propertyInfoCache->setDecoratedService('property_info');
1566-
1567-
$container->setDefinition('property_info.cache', $propertyInfoCache);
1544+
if ($container->getParameter('kernel.debug')) {
1545+
$container->removeDefinition('property_info.cache');
15681546
}
15691547
}
15701548

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,11 @@
2121
<service id="Symfony\Component\PropertyInfo\PropertyListExtractorInterface" alias="property_info" />
2222
<service id="Symfony\Component\PropertyInfo\PropertyInitializableExtractorInterface" alias="property_info" />
2323

24+
<service id="property_info.cache" decorates="property_info" class="Symfony\Component\PropertyInfo\PropertyInfoCacheExtractor">
25+
<argument type="service" id="property_info.cache.inner" />
26+
<argument type="service" id="cache.property_info" />
27+
</service>
28+
2429
<!-- Extractor -->
2530
<service id="property_info.reflection_extractor" class="Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor">
2631
<tag name="property_info.list_extractor" priority="-1000" />

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,11 @@
104104
<argument type="service" id="cache.serializer" />
105105
</service>
106106

107+
<service id="serializer.mapping.cache_class_metadata_factory" decorates="serializer.mapping.class_metadata_factory" class="Symfony\Component\Serializer\Mapping\Factory\CacheClassMetadataFactory">
108+
<argument type="service" id="serializer.mapping.cache_class_metadata_factory.inner" />
109+
<argument type="service" id="serializer.mapping.cache.symfony" />
110+
</service>
111+
107112
<!-- Encoders -->
108113
<service id="serializer.encoder.xml" class="Symfony\Component\Serializer\Encoder\XmlEncoder">
109114
<tag name="serializer.encoder" />

0 commit comments

Comments
 (0)