如果我使用Twig表达式,如:
{% if a and function(a) %}
Run Code Online (Sandbox Code Playgroud)
由于a
是假的,Twig仍在评估function(a)
,或者表达式会在false
不评估第二部分的情况下进行评估吗?同样地or
.
tl; dr:如果第一部分是假的,那么Twig的逻辑运算符不会评估'和'表达式的第二部分,如果第一部分是真实的,则同样使用'或'.
例如:
{% if water_is_dry and die('water_is_wet') %}
Run Code Online (Sandbox Code Playgroud)
不会死,因为第一个表达式是null,是假的.
鉴于:
{% if water_is_dry or die('water_is_wet') %}
Run Code Online (Sandbox Code Playgroud)
会死.
请注意,只有将die作为函数添加到Twig实例时才有效,如下所示:
$twig->addFunction(new Twig_SimpleFunction('die', 'die'));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2530 次 |
最近记录: |