Symfony / Twig在if条件下设置变量

时间:2017-03-14 09:24:17

标签: symfony twig

我知道这真是微不足道,并不重要,但它可以挽救我一生...... 你知道你可以在if块中用PHP声明变量

if( $row = $sql->fetch ){
    //do something with the $row if $row = null this part is skipped
}

在枝条中,我不能这样做(设置图像= object.image,如果我的对象没有图像,变量图像变为空,if语句不会变为真

{% if image = object.image %}
    <img src="{{ image.getUrl() }}"> //and so on
{% endif %}

相反,我必须这样做(检查对象是否有图像,如果是,请将其保存到新变量并使用它做一些事情)

{% if object.image %}
    {% set image = object.image %}
    <img src="{{ image.getUrl() }}"> //and so on
{% endif %}

当然我知道这不是第一个世界问题,你可能认为我的问题没用,但我必须写那些&#34;更长的&#34;一天多次发言,所以最后我会快几分钟。 那么是否有一种语法允许我在if块中设置变量而不是比较它们?

非常感谢

修改
我只是在这个Can I define a variable in a PHP if condition?只是在树枝上

2 个答案:

答案 0 :(得分:6)

不,无法在if标记内声明变量。只能使用set标记设置变量。

答案 1 :(得分:-1)

您可以使用(查看here获取更多帮助):

{% if object.image is defined or object.image is not null %}
   <img src="{{ image.url }}">
{% endif %}

希望这有帮助!