首页  >  文章  >  后端开发  >  如何动态访问 Twig 变量名?

如何动态访问 Twig 变量名?

Susan Sarandon
Susan Sarandon原创
2024-11-06 12:42:02336浏览

How to Dynamically Access Twig Variable Names?

动态访问 Twig 变量名称

在 Twig 中访问具有动态名称的变量可能是一个挑战。考虑以下场景:

<p>placeholder1
placeholder2
placeholderx
</p>

<pre class="brush:php;toolbar:false">{% for invoices as invoice %}
    need to display here the placeholder followed by the invoice id number
    {{ placeholedr1 }}

使用上下文数组访问变量

您可以使用括号表示法访问 _context 数组中的变量值,而不是使用属性函数:

{{ _context['placeholder' ~ id] }}

这个选项更简洁,可以说更清晰。

严格变量检查

当环境选项中 strict_variables 设置为 true 时,您可能会遇到不存在变量的错误。要处理此问题,请使用默认过滤器:

{{ _context['placeholder' ~ id]|default }}

{{ attribute(_context, 'placeholder' ~ id)|default }}

检查变量是否存在

要在访问变量之前检查变量是否存在,请使用定义的测试:

{% if _context['placeholder' ~ id] is defined %} ... {% endif %}

使用默认过滤器的默认值

使用 |default:

{{ _context['placeholder' ~ id]|default(null) }}

{{ attribute(_context, 'placeholder' ~ id)|default('Default value') }}
提供默认值,以防变量不存在

以上是如何动态访问 Twig 变量名?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn