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 变量操作方法可以帮助你动态生成和控制模板中的内容,从而使你的网站或应用程序更加灵活和动态。