Deprecated Features
This document lists deprecated features in Twig 3.x. Deprecated features are kept for backward compatibility and removed in the next major release (a feature that was deprecated in Twig 3.x is removed in Twig 4.0).
Functions
- The
twig_test_iterable
function is deprecated; use the native PHPis_iterable
function instead.
Extensions
All functions defined in Twig extensions are marked as internal as of Twig 3.9.0, and will be removed in Twig 4.0. They have been replaced by internal methods on their respective extension classes.
If you were using the
twig_escape_filter()
function in your code, use$env->getRuntime(EscaperRuntime::class)->escape()
instead.The following methods from
Twig\Extension\EscaperExtension
are deprecated:setEscaper()
,getEscapers()
,setDefaultStrategy()
,getDefaultStrategy()
,setSafeClasses
,addSafeClasses()
. Use the same methods on theTwig\Runtime\EscaperRuntime
class instead.Before: $twig->getExtension(EscaperExtension::class)->METHOD()
After: $twig->getRuntime(EscaperRuntime::class)->METHOD();
Node Visitors
- The
Twig\NodeVisitor\AbstractNodeVisitor
class is deprecated, implement theTwig\NodeVisitor\NodeVisitorInterface
interface instead.
Templates
- Passing
Twig\Template
instances to Twig public API is deprecated (like inEnvironment::resolveTemplate()
,Environment::load()
, andTemplate::loadTemplate()
); pass instances ofTwig\TemplateWrapper
instead.