Twig 变量
在 Twig 模板中,变量是用来动态展示数据的核心元素。Twig 提供了多种方式来使用和操作变量。以下是关于 Twig 变量的一些基本知识和用法示例:
变量的定义与使用
Twig 变量通常是由 PHP 后端传递到模板中的。你可以在模板中使用 {{ ... }} 语法来输出变量的值。
<?php require_once 'vendor/autoload.php'; // 设置 Twig $loader = new \Twig\Loader\FilesystemLoader('templates'); $twig = new \Twig\Environment($loader); // 渲染模板并传递数据 echo $twig->render('example.twig', [ 'name' => 'Alice', 'age' => 30, 'isMember' => true ]);
在模板文件中使用变量
<p>姓名: {{ name }}</p> <p>年龄: {{ age }}</p> <p>是否会员: {{ isMember ? '是' : '否' }}</p>
变量的默认值
你可以使用 default 过滤器来为变量设置默认值,以防变量未定义或为空。
<p>姓名: {{ name | default('未知') }}</p>
变量的过滤器
Twig 提供了多种过滤器来处理变量的值,例如格式化日期、转换大小写等。
<p>大写姓名: {{ name | upper }}</p> <p>小写姓名: {{ name | lower }}</p> <p>格式化年龄: {{ age | number_format }}</p> <p>注册日期: {{ registrationDate | date('Y-m-d') }}</p>
变量的操作
你可以在 Twig 模板中执行基本的算术运算和逻辑判断。
<p>年龄加 5: {{ age + 5 }}</p> <p>是否会员: {{ isMember ? '是' : '否' }}</p> <p>姓名拼接: {{ name ~ ' Smith' }}</p>
变量的条件判断
可以使用 if 语句来根据变量的值执行不同的代码块。
{% if isMember %} <p>欢迎回来,{{ name }}!</p> {% else %} <p>请注册以获得更多特权。</p> {% endif %}
变量的循环
当变量是数组或对象集合时,你可以使用 for 循环遍历它们。
PHP 代码:
echo $twig->render('list.twig', [ 'items' => ['apple', 'orange', 'pear'] ]);
Twig 模板 :
<ul> {% for item in items %} <li>{{ item }}</li> {% endfor %} </ul>
这些基本的 Twig 变量操作方法可以帮助你动态生成和控制模板中的内容,从而使你的网站或应用程序更加灵活和动态。