Skip to content

Commit e68144b

Browse files
authored
Fix Twig extension registration when using Symfony Mercure 0.7 (#108)
* Fix Twig extension registration when using Symfony Mercure 0.7 * phpstan * fix
1 parent 5beb9ca commit e68144b

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
CHANGELOG
22
=========
33

4+
0.4.1
5+
-----
6+
7+
* Fix Twig extension registration when using Symfony Mercure 0.7
8+
49
0.4.0
510
-----
611

src/DependencyInjection/MercureExtension.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
use Symfony\UX\Turbo\Bridge\Mercure\Broadcaster;
4848
use Symfony\UX\Turbo\Bridge\Mercure\TurboStreamListenRenderer;
4949
use Twig\Environment;
50+
use Twig\Extension\AbstractExtension;
5051

5152
/**
5253
* @author Kévin Dunglas <[email protected]>
@@ -289,9 +290,15 @@ public function load(array $configs, ContainerBuilder $container): void
289290
}
290291

291292
if (class_exists(Environment::class) && class_exists(TwigMercureExtension::class)) {
292-
$container->register(TwigMercureExtension::class)
293-
->setArguments([new Reference(HubRegistry::class), new Reference(Authorization::class), new Reference('request_stack')])
294-
->addTag('twig.extension');
293+
$definition = $container->register(TwigMercureExtension::class)
294+
->setArguments([new Reference(HubRegistry::class), new Reference(Authorization::class), new Reference('request_stack')]);
295+
296+
/* @phpstan-ignore function.impossibleType */
297+
if (is_a(TwigMercureExtension::class, AbstractExtension::class, true)) {
298+
$definition->addTag('twig.extension');
299+
} else {
300+
$definition->addTag('twig.attribute_extension');
301+
}
295302
}
296303
}
297304

0 commit comments

Comments
 (0)