Skip to content

Commit b798211

Browse files
fix(symfony): metadata cache array adapter dev only (api-platform#4986)
* ignore api_platform.state.item_provider when Doctrine is not enabled (api-platform#4954) * fix(symfony): metadata cache is broken in dev/prod Co-authored-by: Dmitri Goosens <[email protected]>
1 parent 0f6d74c commit b798211

File tree

2 files changed

+9
-9
lines changed

2 files changed

+9
-9
lines changed

src/Symfony/Bundle/DependencyInjection/ApiPlatformExtension.php

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -486,16 +486,16 @@ private function registerGraphQlConfiguration(ContainerBuilder $container, array
486486

487487
private function registerCacheConfiguration(ContainerBuilder $container): void
488488
{
489-
if (!$container->hasParameter('kernel.debug') || !$container->getParameter('kernel.debug')) {
489+
if ($container->hasParameter('kernel.debug') && $container->getParameter('kernel.debug')) {
490+
$container->register('api_platform.cache.metadata.property', ArrayAdapter::class)->addTag('cache.pool');
491+
$container->register('api_platform.cache.metadata.resource', ArrayAdapter::class)->addTag('cache.pool');
492+
$container->register('api_platform.cache.metadata.resource_collection', ArrayAdapter::class)->addTag('cache.pool');
493+
$container->register('api_platform.cache.route_name_resolver', ArrayAdapter::class)->addTag('cache.pool');
494+
$container->register('api_platform.cache.identifiers_extractor', ArrayAdapter::class);
495+
$container->register('api_platform.elasticsearch.cache.metadata.document', ArrayAdapter::class);
496+
} else {
490497
$container->removeDefinition('api_platform.cache_warmer.cache_pool_clearer');
491498
}
492-
493-
$container->register('api_platform.cache.metadata.property', ArrayAdapter::class)->addTag('cache.pool');
494-
$container->register('api_platform.cache.metadata.resource', ArrayAdapter::class)->addTag('cache.pool');
495-
$container->register('api_platform.cache.metadata.resource_collection', ArrayAdapter::class)->addTag('cache.pool');
496-
$container->register('api_platform.cache.route_name_resolver', ArrayAdapter::class)->addTag('cache.pool');
497-
$container->register('api_platform.cache.identifiers_extractor', ArrayAdapter::class);
498-
$container->register('api_platform.elasticsearch.cache.metadata.document', ArrayAdapter::class);
499499
}
500500

501501
private function registerDoctrineOrmConfiguration(ContainerBuilder $container, array $config, XmlFileLoader $loader): void

src/Symfony/Bundle/Resources/config/state.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242
<service id="ApiPlatform\State\Pagination\PaginationOptions" alias="api_platform.pagination_options" />
4343

4444
<service id="ApiPlatform\State\CreateProvider" class="ApiPlatform\State\CreateProvider">
45-
<argument type="service" id="api_platform.state.item_provider" />
45+
<argument type="service" id="api_platform.state.item_provider" on-invalid="ignore" />
4646

4747
<tag name="api_platform.state_provider" />
4848
</service>

0 commit comments

Comments
 (0)