我记得在 Composer 更新后我得到了这个错误,但以前它运行得很好,在比较软件包版本时我没有发现差异。我在模板中以这种方式使用它:
{{ include(template_from_string(page.body)) }}
Run Code Online (Sandbox Code Playgroud)
其中“页面”是来自控制器的实体对象。当前版本是:
symfony/symfony v2.8.15
twig/extensions v1.4.1
twig/twig v1.30.0
Run Code Online (Sandbox Code Playgroud)
同样在 config.yml 中:
twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
form_themes:
- 'AppBundle::Form/form_override.html.twig'
Run Code Online (Sandbox Code Playgroud)
现在有vendor/twig/twig/lib/twig/Twig/Extension/StringLoader.php视觉上正确的文件,但似乎仍然无法正常工作。完整的堆栈跟踪:
[1] Twig_Error_Syntax: Unknown "template_from_string" function.
at n/a
in ProjectDir\src\AppBundle/Resources/views/Page.html.twig line 22
at Twig_ExpressionParser->getFunctionNodeClass('template_from_string', '22')
in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 374
at Twig_ExpressionParser->getFunctionNode('template_from_string', '22')
in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 162
at Twig_ExpressionParser->parsePrimaryExpression()
in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 102
at Twig_ExpressionParser->getPrimary()
in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 55
at Twig_ExpressionParser->parseExpression()
in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 520
at Twig_ExpressionParser->parseArguments(true)
in ProjectDir\vendor\twig\twig\lib\Twig\ExpressionParser.php line 373
at Twig_ExpressionParser->getFunctionNode('include', '22')
in …Run Code Online (Sandbox Code Playgroud)