动态访问 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中文网其他相关文章!