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