Twig 变量
Twig 数组 

Twig 函数

Twig 是一种流行的模板语言,用于 Web 开发中,特别是与 PHP 框架如 Symfony 和 Laravel 结合使用。Twig 提供了多种内置函数,这些函数可以用于格式化输出、日期时间处理、数组操作等。以下是一些常用的 Twig 函数:


  • date() - 格式化日期

{{ post.addtime|date("m/d/Y") }}
  • format() - 格式化字符串

{{ "登录时间: %s"|format(post.login_time) }}
  • cycle() - 在迭代时循环一个值列表

{% for i in 0..10 %}
    {{ cycle(['odd', 'even'], i) }}
{% endfor %}
  • random() - 生成一个随机数

{{ random() }}
  • range() - 生成一个数字范围

{% for i in range(0, 10) %}
    {{ i }}
{% endfor %}
  • upper() 和 lower() - 转换字符串为大写或小写

{{ 'Hello World'|upper }} {# HELLO WORLD #}
{{ 'Hello World'|lower }} {# hello world #}
  • length() - 返回字符串长度或数组/对象的元素数量

{{ some_array|length }}
  • split() - 将字符串分割为数组。

{{ "one,two,three"|split(',') }}
  • join() - 将数组元素连接为字符串

{{ ['one', 'two', 'three']|join(', ') }}
  • default() - 如果变量为空,则返回默认值

{{ some_var|default('default value') }}
  • escape() - 转义字符串中的 HTML 实体。

{{ some_html_content|escape }}
  • truncate() - 截断字符串到指定长度

{{ some_long_text|truncate(10) }}
  • dump() - 用于调试目的,输出变量的内容

{{ dump(myVariable) }}
  • include() - 包含一个模板

{% include 'header.twig' with {'title': '首页'} %}
  • sandbox() - 使用 Twig 的沙箱模式时,可以限制模板的操作。通常用于安全性方面的控制

{% sandbox %}
    {# 沙箱模式下的代码 #}
{% endsandbox %}
  • trans() - 用于翻译文本,需要启用 Twig 的国际化支持

<p>{{ 'hello world'|trans }}</p>


Twig 还允许自定义函数和过滤器,如果需要更多个性化功能,可以根据项目需求进行扩展。