From 418de7c4fbfa67678802093a8c3e1c319d6ad3fc Mon Sep 17 00:00:00 2001 From: Michel Bardelmeijer Date: Sun, 15 Sep 2024 15:48:49 +0200 Subject: [PATCH] Use Escaper Runtime (#446) --- src/ServiceProvider.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ServiceProvider.php b/src/ServiceProvider.php index 952a61c2..28451596 100644 --- a/src/ServiceProvider.php +++ b/src/ServiceProvider.php @@ -18,6 +18,7 @@ use Twig\Extension\DebugExtension; use Twig\Extension\ExtensionInterface; use Twig\Extension\EscaperExtension; +use Twig\Runtime\EscaperRuntime; use Twig\Loader\ArrayLoader; use Twig\Loader\ChainLoader; @@ -231,7 +232,12 @@ function () { ); foreach ($this->app['config']->get('twigbridge.twig.safe_classes', []) as $safeClass => $strategy) { - $twig->getExtension(EscaperExtension::class)->addSafeClass($safeClass, $strategy); + // "Since twig/twig 3.10: The "Twig\Extension\EscaperExtension::addSafeClass()" method is deprecated, use the "Twig\Runtime\EscaperRuntime::addSafeClass()" method instead." + if (class_exists(EscaperRuntime::class)) { + $twig->getRuntime(EscaperRuntime::class)->addSafeClass($safeClass, $strategy); + } else { + $twig->getExtension(EscaperExtension::class)->addSafeClass($safeClass, $strategy); + } } // Instantiate and add extensions