📜  twig 设置变量 (1)

📅  最后修改于: 2023-12-03 15:20:41.869000             🧑  作者: Mango

Twig 设置变量

Twig 是一种功能强大的模板引擎,它允许您在模板中使用变量、表达式、过滤器和标签来生成输出。其中一个核心功能就是 Twig 设置变量,它允许您在模板中存储和使用数据,使得模板更加动态和可重用。

如何设置变量?

Twig 设置变量的语法很简单:使用 {% set %} 标签设置变量,然后使用变量名称获取值。下面是一个例子:

{% set name = 'John' %}
{{ name }}

这将在模板中设置一个变量 name,并输出 John

变量作用域

变量作用域是指变量在何处可见和可访问。Twig 变量的作用域由它们的声明位置决定。默认情况下,所有的变量都是局部变量,只能在声明它们的块中使用。

例如,在下面的例子中,变量 name 只能在 if 语句块中使用:

{% if true %}
    {% set name = 'John' %}
    {{ name }}
{% endif %}

{{ name }}

这将输出 John 和一个 Twig 模板运行时错误,因为变量 name 在全局上下文中未定义。

如果您希望变量在模板的多个块中可见,可以将其声明为全局变量:

{% set globalName = 'John' %}

{% block content %}
    {{ globalName }}
{% endblock %}

{% block sidebar %}
    {{ globalName }}
{% endblock %}
Twig 变量过滤器

Twig 还提供了一些有用的过滤器来操作变量,例如格式化、截断和排序等。过滤器可以通过在变量名称后跟管道符 | 来应用。

例如,使用 Twig 内置的 upper 过滤器将字符串转换为大写:

{% set name = 'John' | upper %}
{{ name }}

这将输出 JOHN

总结

Twig 设置变量是一个非常重要的功能,它使得模板更加可重用和动态。通过使用 {% set %} 标签设置变量,您可以在模板中存储和使用数据,并使用过滤器来操作数据。还需要了解变量的作用域,以确保在正确的上下文中使用变量。