diff --git a/CHANGELOG.md b/CHANGELOG.md index b72402ff..f9efac77 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ The change log describes what is "Added", "Removed", "Changed" or "Fixed" betwee ## Unreleased +### Fixed + +- Avoid conflict with Twig 3. + ### Added - Configured clients are now tagged with `'httplug.client'` diff --git a/composer.json b/composer.json index 3639041f..859d4239 100644 --- a/composer.json +++ b/composer.json @@ -63,7 +63,7 @@ "symfony/stopwatch": "^3.4.20 || ^4.2.1", "symfony/twig-bundle": "^3.4.20 || ^4.2.1", "symfony/web-profiler-bundle": "^3.4.20 || ^4.2.1", - "twig/twig": "^1.41 || ^2.10" + "twig/twig": "^1.41 || ^2.10 || ^3.0" }, "suggest": { "php-http/cache-plugin": "To configure clients that cache responses", diff --git a/src/Collector/Twig/HttpMessageMarkupExtension.php b/src/Collector/Twig/HttpMessageMarkupExtension.php index 6101ca66..fe1ef793 100644 --- a/src/Collector/Twig/HttpMessageMarkupExtension.php +++ b/src/Collector/Twig/HttpMessageMarkupExtension.php @@ -2,10 +2,20 @@ namespace Http\HttplugBundle\Collector\Twig; +use Twig\Extension\AbstractExtension; +use Twig\TwigFilter; + +if (!\class_exists(AbstractExtension::class)) { + class_alias(\Twig_Extension::class, AbstractExtension::class); +} +if (!\class_exists(TwigFilter::class)) { + class_alias(\Twig_SimpleFilter::class, TwigFilter::class); +} + /** * @author Tobias Nyholm */ -class HttpMessageMarkupExtension extends \Twig_Extension +class HttpMessageMarkupExtension extends AbstractExtension { /** * {@inheritdoc} @@ -15,7 +25,7 @@ class HttpMessageMarkupExtension extends \Twig_Extension public function getFilters() { return [ - new \Twig_SimpleFilter('httplug_markup', [$this, 'markup'], ['is_safe' => ['html']]), + new TwigFilter('httplug_markup', [$this, 'markup'], ['is_safe' => ['html']]), ]; }