Skip to content

Commit b40623d

Browse files
authored
Merge pull request #454 from stof/cache_metadata
Configure the metadata cache for the extensions
2 parents 28bda1e + d20c9dd commit b40623d

14 files changed

+44
-1
lines changed

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,12 @@
1313
],
1414
"require": {
1515
"php": "^7.2.5 || ^8.0",
16+
"symfony/cache": "^5.4 || ^6.0",
1617
"symfony/config": "^5.4 || ^6.0",
1718
"symfony/dependency-injection": "^5.4 || ^6.0",
1819
"symfony/event-dispatcher": "^5.4 || ^6.0",
1920
"symfony/http-kernel": "^5.4 || ^6.0",
20-
"gedmo/doctrine-extensions": "^2.3.12 || ^3.0.0"
21+
"gedmo/doctrine-extensions": "^3.5.0"
2122
},
2223
"require-dev": {
2324
"symfony/mime": "^5.4 || ^6.0",

src/DependencyInjection/Configuration.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public function getConfigTreeBuilder(): TreeBuilder
2626
->booleanNode('translation_fallback')->defaultFalse()->end()
2727
->booleanNode('persist_default_translation')->defaultFalse()->end()
2828
->booleanNode('skip_translation_on_load')->defaultFalse()->end()
29+
->scalarNode('metadata_cache_pool')->defaultNull()->end()
2930
->end()
3031
;
3132

src/DependencyInjection/StofDoctrineExtensionsExtension.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
namespace Stof\DoctrineExtensionsBundle\DependencyInjection;
44

5+
use Symfony\Component\Cache\Adapter\ArrayAdapter;
56
use Symfony\Component\Config\Loader\LoaderInterface;
7+
use Symfony\Component\DependencyInjection\Alias;
68
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
79
use Symfony\Component\Config\Definition\Processor;
810
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
@@ -134,6 +136,12 @@ public function load(array $configs, ContainerBuilder $container)
134136
}
135137
}
136138

139+
if (isset($config['metadata_cache_pool'])) {
140+
$container->setAlias('stof_doctrine_extensions.metadata_cache', new Alias($config['metadata_cache_pool'], false));
141+
} else {
142+
$container->register('stof_doctrine_extensions.metadata_cache', ArrayAdapter::class)->setPublic(false);
143+
}
144+
137145
foreach ($config['class'] as $listener => $class) {
138146
$container->setParameter(sprintf('stof_doctrine_extensions.listener.%s.class', $listener), $class);
139147
}

src/Resources/config/blameable.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
</parameters>
1111
<services>
1212
<service id="stof_doctrine_extensions.listener.blameable" class="%stof_doctrine_extensions.listener.blameable.class%" public="false">
13+
<call method="setCacheItemPool">
14+
<argument type="service" id="stof_doctrine_extensions.metadata_cache" />
15+
</call>
1316
<call method="setAnnotationReader">
1417
<argument type="service" id="annotation_reader" />
1518
</call>

src/Resources/config/ip_traceable.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66

77
<services>
88
<service id="stof_doctrine_extensions.listener.ip_traceable" class="Gedmo\IpTraceable\IpTraceableListener" public="false">
9+
<call method="setCacheItemPool">
10+
<argument type="service" id="stof_doctrine_extensions.metadata_cache" />
11+
</call>
912
<call method="setAnnotationReader">
1013
<argument type="service" id="annotation_reader" />
1114
</call>

src/Resources/config/loggable.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
</parameters>
1111
<services>
1212
<service id="stof_doctrine_extensions.listener.loggable" class="%stof_doctrine_extensions.listener.loggable.class%" public="false">
13+
<call method="setCacheItemPool">
14+
<argument type="service" id="stof_doctrine_extensions.metadata_cache" />
15+
</call>
1316
<call method="setAnnotationReader">
1417
<argument type="service" id="annotation_reader" />
1518
</call>

src/Resources/config/reference_integrity.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
</parameters>
1010
<services>
1111
<service id="stof_doctrine_extensions.listener.reference_integrity" class="%stof_doctrine_extensions.listener.reference_integrity.class%" public="false">
12+
<call method="setCacheItemPool">
13+
<argument type="service" id="stof_doctrine_extensions.metadata_cache" />
14+
</call>
1215
<call method="setAnnotationReader">
1316
<argument type="service" id="annotation_reader" />
1417
</call>

src/Resources/config/sluggable.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
</parameters>
1010
<services>
1111
<service id="stof_doctrine_extensions.listener.sluggable" class="%stof_doctrine_extensions.listener.sluggable.class%" public="false">
12+
<call method="setCacheItemPool">
13+
<argument type="service" id="stof_doctrine_extensions.metadata_cache" />
14+
</call>
1215
<call method="setAnnotationReader">
1316
<argument type="service" id="annotation_reader" />
1417
</call>

src/Resources/config/softdeleteable.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
</parameters>
1010
<services>
1111
<service id="stof_doctrine_extensions.listener.softdeleteable" class="%stof_doctrine_extensions.listener.softdeleteable.class%" public="false">
12+
<call method="setCacheItemPool">
13+
<argument type="service" id="stof_doctrine_extensions.metadata_cache" />
14+
</call>
1215
<call method="setAnnotationReader">
1316
<argument type="service" id="annotation_reader" />
1417
</call>

src/Resources/config/sortable.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
</parameters>
1010
<services>
1111
<service id="stof_doctrine_extensions.listener.sortable" class="%stof_doctrine_extensions.listener.sortable.class%" public="false">
12+
<call method="setCacheItemPool">
13+
<argument type="service" id="stof_doctrine_extensions.metadata_cache" />
14+
</call>
1215
<call method="setAnnotationReader">
1316
<argument type="service" id="annotation_reader" />
1417
</call>

src/Resources/config/timestampable.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
</parameters>
1010
<services>
1111
<service id="stof_doctrine_extensions.listener.timestampable" class="%stof_doctrine_extensions.listener.timestampable.class%" public="false">
12+
<call method="setCacheItemPool">
13+
<argument type="service" id="stof_doctrine_extensions.metadata_cache" />
14+
</call>
1215
<call method="setAnnotationReader">
1316
<argument type="service" id="annotation_reader" />
1417
</call>

src/Resources/config/translatable.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@
1010
</parameters>
1111
<services>
1212
<service id="stof_doctrine_extensions.listener.translatable" class="%stof_doctrine_extensions.listener.translatable.class%" public="false">
13+
<call method="setCacheItemPool">
14+
<argument type="service" id="stof_doctrine_extensions.metadata_cache" />
15+
</call>
1316
<call method="setAnnotationReader">
1417
<argument type="service" id="annotation_reader" />
1518
</call>

src/Resources/config/tree.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
</parameters>
1010
<services>
1111
<service id="stof_doctrine_extensions.listener.tree" class="%stof_doctrine_extensions.listener.tree.class%" public="false">
12+
<call method="setCacheItemPool">
13+
<argument type="service" id="stof_doctrine_extensions.metadata_cache" />
14+
</call>
1215
<call method="setAnnotationReader">
1316
<argument type="service" id="annotation_reader" />
1417
</call>

src/Resources/config/uploadable.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
<configurator service="stof_doctrine_extensions.uploadable.configurator" method="configure" />
1616
<argument type="service" id="stof_doctrine_extensions.uploadable.mime_type_guesser" />
1717

18+
<call method="setCacheItemPool">
19+
<argument type="service" id="stof_doctrine_extensions.metadata_cache" />
20+
</call>
1821
<call method="setAnnotationReader">
1922
<argument type="service" id="annotation_reader" />
2023
</call>

0 commit comments

Comments
 (0)