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);
我正在使用带有 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);