在 Twig 中,您可能会遇到需要访问具有动态名称的变量的场景。例如,您有名为 placeholder1、placeholder2 等的变量,并且您希望在循环上下文中显示它们。
要实现此目的,您可以使用两种方法:
1.属性功能:
{{ attribute(_context, 'placeholder' ~ id) }}
这里,_context 是上下文数组,placeholder 是变量名的静态部分,id 是动态部分。用 ~ 连接两部分会生成完整的变量名称。
2.括号表示法:
{{ _context['placeholder' ~ id] }}
此方法比属性函数更简洁,并且也提供相同的功能。
处理不存在的变量:
为了防止由于不存在的变量而导致错误,请考虑将 strict_variables 环境选项设置为 true 并使用默认过滤器:
{{ _context['placeholder' ~ id]|default }} {{ attribute(_context, 'placeholder' ~ id)|default }}
或者,您可以使用定义的测试来检查在访问变量之前先确定它是否存在:
{% if _context['placeholder' ~ id] is defined %} ... {% endif %}
通过使用这些技术,您可以动态访问 Twig 中的变量以满足您的特定需求。
以上是如何在 Twig 中访问动态命名变量?的详细内容。更多信息请关注PHP中文网其他相关文章!