使用引号来定义变量是否有任何区别?

时间:2012-11-25 00:58:34

标签: twig

Twig手册(“include”)说:

{% include 'foo' with {'foo': 'bar'} %}

但这也很好用:

{% include 'foo' with { foo: 'bar'} %}

那么有任何区别或引用是否是任意的?

1 个答案:

答案 0 :(得分:1)

@Maerlyn之前的回答并不完全准确。

从Twig 1.5开始,您可以使用未加引号的字符串作为哈希中的键名。例如,{foo: 'bar'}{'foo': 'bar'}相同,即使您的模板中有一个名为foo的变量,它也不会与散列键名foo发生冲突。这是一个方便的事情,就是这样。

例如:

{% set foo = 'bar' %}
{% set bar = {foo: foo} %} {# note: no quotes around foo #}
{% debug bar %}

预期输出:

array
  'foo' => string 'bar' (length=3)