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

标签 symfony twig

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

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

例如在 Twig 中我不能做(设置图像 = 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 %}

当然,我知道这不是第一世界的问题,你可能认为我的问题没有用,但我必须每天多次写这些“更长”的陈述,这样我最终可以快几分钟。
那么是否有一种语法允许我在 if 块中设置变量而不是比较它们?

非常感谢

编辑
我不一样Can I define a variable in a PHP if condition?就在 Twig 上

最佳答案

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

关于Symfony/Twig 在 if 条件下设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42782059/

相关文章:

symfony - 如何调试 Symfony 环境中的所有参数?

php - Symfony 2.8.1安装后报错

php - 将 Azure 上的 Redis 与 Symfony2 结合使用

Twig :一年中的每个月

json - 将 twig 变量设置为 json 文件作为包含

php - 如何在 Slim 3.5 中为 Twig 添加全局变量?

php - Symfony docker 容器无法连接到 Mysql

php - Twig 2.0 错误信息 "Accessing Twig_Template attributes is forbidden"

javascript - 如何在Symfony2中通过javascript访问html twig表单字段值?

database - 如何解决这个SQLSTATE[HY000] [2002] no connection could be because the target machine actively refused