Twig不会抛出异常

d00*_*001 2 php symfony twig

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

例如,我有任何未定义的变量' test'我可以执行以下操作,并且没有错误只显示空白文本.

{{ test }}
{{ test.do() }}
{{ test.test2 }}
Run Code Online (Sandbox Code Playgroud)

有没有设置可以重新开启?

Emi*_*aos 6

是的,strict_variables树枝的选择.在symfony标准安装中,twig配置默认为

# Twig Configuration
twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"
Run Code Online (Sandbox Code Playgroud)

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

$kernel = new AppKernel('dev', true);
Run Code Online (Sandbox Code Playgroud)