diff --git a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php index 9ee0f0f43441a..a9c0c8d548a0c 100644 --- a/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php +++ b/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php @@ -771,15 +771,19 @@ static function (ChildDefinition $definition, AsPeriodicTask|AsCronTask $attribu $container->registerAttributeForAutoconfiguration(AsMessage::class, static function (ChildDefinition $definition) { $definition->addExcludeTag('container.excluded.messenger.message'); }); - $container->registerAttributeForAutoconfiguration(Entity::class, static function (ChildDefinition $definition) { - $definition->addExcludeTag('container.excluded.doctrine.entity'); - }); - $container->registerAttributeForAutoconfiguration(Embeddable::class, static function (ChildDefinition $definition) { - $definition->addExcludeTag('container.excluded.doctrine.embeddable'); - }); - $container->registerAttributeForAutoconfiguration(MappedSuperclass::class, static function (ChildDefinition $definition) { - $definition->addExcludeTag('container.excluded.doctrine.mapped_superclass'); - }); + + // DoctrineBundle autoconfigures attributes since version 2.14.0 + if (!array_key_exists(Entity::class, $container->getAutoconfiguredAttributes())) { + $container->registerAttributeForAutoconfiguration(Entity::class, static function (ChildDefinition $definition) { + $definition->addExcludeTag('container.excluded.doctrine.entity'); + }); + $container->registerAttributeForAutoconfiguration(Embeddable::class, static function (ChildDefinition $definition) { + $definition->addExcludeTag('container.excluded.doctrine.embeddable'); + }); + $container->registerAttributeForAutoconfiguration(MappedSuperclass::class, static function (ChildDefinition $definition) { + $definition->addExcludeTag('container.excluded.doctrine.mapped_superclass'); + }); + } $container->registerAttributeForAutoconfiguration(JsonStreamable::class, static function (ChildDefinition $definition, JsonStreamable $attribute) { $definition->addExcludeTag('json_streamer.streamable', [ diff --git a/src/Symfony/Bundle/FrameworkBundle/composer.json b/src/Symfony/Bundle/FrameworkBundle/composer.json index 72d33ed884df2..6e4656b9d6e49 100644 --- a/src/Symfony/Bundle/FrameworkBundle/composer.json +++ b/src/Symfony/Bundle/FrameworkBundle/composer.json @@ -21,7 +21,7 @@ "ext-xml": "*", "symfony/cache": "^6.4|^7.0", "symfony/config": "^7.3", - "symfony/dependency-injection": "^7.2", + "symfony/dependency-injection": "^7.3", "symfony/deprecation-contracts": "^2.5|^3", "symfony/error-handler": "^7.3", "symfony/event-dispatcher": "^6.4|^7.0",