Twig 不会抛出异常

Twig doesn't throw exceptions

我正在使用带有 twig 1.0 的 symfony 2.3。* 当显示未声明的变量时,Twig 不会抛出任何错误。所有错误都将被忽略。

例如,我有任何未定义的变量“test”,我可以执行以下操作,不会显示任何错误,只显示空白文本。

{{ test }}
{{ test.do() }}
{{ test.test2 }}

是否有重新打开此功能的设置?

是的,twig的strict_variables选项。在 symfony 标准安装中,twig 配置默认为

# Twig Configuration
twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"

这意味着它取决于内核的调试选项。在 prod 环境中这当然应该是 false,但是在 dev 环境中它应该默认为 true 并且 twig 应该抛出异常。如果内核调试在 dev 中不正确,请检查您的 web/app_dev.php 文件。它应该使用以下行初始化 AppKernel

$kernel = new AppKernel('dev', true);