Skip to content

Commit 8d6c4f7

Browse files
committed
add compatibility with Symfony < 7.3
1 parent 9996357 commit 8d6c4f7

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/DependencyInjection/DoctrineExtension.php

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
use function interface_exists;
8282
use function is_dir;
8383
use function is_string;
84+
use function method_exists;
8485
use function realpath;
8586
use function reset;
8687
use function sprintf;
@@ -552,9 +553,18 @@ private function dbalLoad(array $config, ContainerBuilder $container): void
552553
}
553554

554555
$container->registerAttributeForAutoconfiguration(AsDbalType::class, static function (ChildDefinition $definition, AsDbalType $type): void {
555-
$definition->addResourceTag('doctrine.dbal.type', [
556+
$tag = 'doctrine.dbal.type';
557+
$attributes = [
556558
'name' => $type->name,
557-
]);
559+
];
560+
561+
if (method_exists($definition, 'addResourceTag')) { // @phpstan-ignore function.alreadyNarrowedType
562+
$definition->addResourceTag($tag, $attributes);
563+
} else {
564+
// Needed to keep compatibility with Symfony < 7.3
565+
$definition->addTag('doctrine.dbal.type', $attributes)
566+
->addTag('container.excluded', ['source' => sprintf('by tag "%s"', $tag)]);
567+
}
558568
});
559569

560570
$container->registerForAutoconfiguration(MiddlewareInterface::class)->addTag('doctrine.middleware');

0 commit comments

Comments
 (0)