File tree 1 file changed +24
-10
lines changed
src/TwigComponent/src/Twig
1 file changed +24
-10
lines changed Original file line number Diff line number Diff line change 19
19
use Twig \Node \Expression \AbstractExpression ;
20
20
use Twig \Node \Node ;
21
21
use Twig \Node \NodeOutputInterface ;
22
+ use Twig \Template ;
22
23
23
24
/**
24
25
* @author Fabien Potencier <[email protected] >
@@ -154,16 +155,29 @@ public function compile(Compiler $compiler): void
154
155
if ($ useYield ) {
155
156
$ compiler ->write ('yield from ' );
156
157
}
157
- $ compiler
158
- ->write ('$this->loadTemplate( ' )
159
- ->string ($ this ->getAttribute ('embedded_template ' ))
160
- ->raw (', ' )
161
- ->repr ($ this ->getTemplateName ())
162
- ->raw (', ' )
163
- ->repr ($ this ->getTemplateLine ())
164
- ->raw (', ' )
165
- ->string ($ this ->getAttribute ('embedded_index ' ))
166
- ->raw (') ' );
158
+
159
+ // Support for Twig ^3.21
160
+ if (method_exists (Template::class, 'load ' )) {
161
+ $ compiler
162
+ ->write ('$this->load( ' )
163
+ ->string ($ this ->getAttribute ('embedded_template ' ))
164
+ ->raw (', ' )
165
+ ->repr ($ this ->getTemplateLine ())
166
+ ->raw (', ' )
167
+ ->string ($ this ->getAttribute ('embedded_index ' ))
168
+ ->raw (') ' );
169
+ } else {
170
+ $ compiler
171
+ ->write ('$this->loadTemplate( ' )
172
+ ->string ($ this ->getAttribute ('embedded_template ' ))
173
+ ->raw (', ' )
174
+ ->repr ($ this ->getTemplateName ())
175
+ ->raw (', ' )
176
+ ->repr ($ this ->getTemplateLine ())
177
+ ->raw (', ' )
178
+ ->string ($ this ->getAttribute ('embedded_index ' ))
179
+ ->raw (') ' );
180
+ }
167
181
168
182
if ($ useYield ) {
169
183
$ compiler ->raw ('->unwrap()->yield( ' );
You can’t perform that action at this time.
0 commit comments