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

Skip to content

Commit dd61789

Browse files
committed
[FrameworkBundle] Fallback to default cache system in production for serializer
1 parent 5c51476 commit dd61789

File tree

5 files changed

+11
-2
lines changed

5 files changed

+11
-2
lines changed

DependencyInjection/Configuration.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -513,7 +513,7 @@ private function addSerializerSection(ArrayNodeDefinition $rootNode)
513513
->canBeEnabled()
514514
->children()
515515
->booleanNode('enable_annotations')->defaultFalse()->end()
516-
->scalarNode('cache')->end()
516+
->scalarNode('cache')->defaultValue('serializer.mapping.cache.symfony')->end()
517517
->scalarNode('name_converter')->end()
518518
->end()
519519
->end()

DependencyInjection/FrameworkExtension.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -982,7 +982,7 @@ private function registerSerializerConfiguration(array $config, ContainerBuilder
982982

983983
$chainLoader->replaceArgument(0, $serializerLoaders);
984984

985-
if (isset($config['cache']) && $config['cache']) {
985+
if (!$container->getParameter('kernel.debug')) {
986986
$container->setParameter(
987987
'serializer.mapping.cache.prefix',
988988
'serializer_'.$this->getKernelRootHash($container)

Resources/config/cache_pools.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@
2525
<tag name="cache.pool" clearer="cache.default_pools_clearer" />
2626
</service>
2727

28+
<service id="cache.pool.serializer" parent="cache.adapter.local" public="false">
29+
<tag name="cache.pool" clearer="cache.default_pools_clearer" />
30+
</service>
31+
2832
<service id="cache.adapter.apcu" class="Symfony\Component\Cache\Adapter\ApcuAdapter" abstract="true">
2933
<argument /> <!-- namespace -->
3034
<argument /> <!-- default lifetime -->

Resources/config/serializer.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@
3838
</service>
3939

4040
<!-- Cache -->
41+
<service id="serializer.mapping.cache.symfony" class="Symfony\Component\Cache\DoctrineProvider" public="false">
42+
<argument type="service" id="cache.pool.serializer" />
43+
</service>
44+
4145
<service id="serializer.mapping.cache.apc" class="Doctrine\Common\Cache\ApcCache" public="false">
4246
<call method="setNamespace">
4347
<argument>%serializer.mapping.cache.prefix%</argument>

Tests/DependencyInjection/ConfigurationTest.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,7 @@ protected static function getBundleDefaultConfig()
221221
'serializer' => array(
222222
'enabled' => false,
223223
'enable_annotations' => false,
224+
'cache' => 'serializer.mapping.cache.symfony',
224225
),
225226
'property_access' => array(
226227
'magic_call' => false,

0 commit comments

Comments
 (0)