在Symfony2的Twig模板引擎中,如何检查对象是否存在?

87

我有一个多维数组,其中一些对象存在,另一些不存在。我一直收到一个

在对象 "stdClass" 中,方法 "code" 不存在...

我在模板中使用的代码是:

{% for item in items %}
    <p>{% if item.product.code %}{{ item.product.code }}{% endif %}</p>
{% endfor %}

有些产品没有这个代码,而且不幸的是这个数据结构是通过一个提要提供的,所以我无法改变它。

当我查看Twig文档时,我的理解是如果对象或方法不存在,它会返回null?

1个回答

158
快速查找了一下,希望这对你有用 :p

defined

defined检查变量是否在当前上下文中定义。如果您使用strict_variables选项,则此功能非常有用:

{# defined works with variable names #}
{% if foo is defined %}
    ...
{% endif %}

{# and attributes on variables names #}
{% if foo.bar is defined %}
    ...
{% endif %}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接