PHP Twig 教程展示了如何在 PHP 应用中使用 Twig 模板引擎来生成文档。
Twig
Twig 是一个 PHP 模板引擎。 它是由 Symfony 开发人员创建的。 Twig 文件的扩展名为.html.twig
; 它们是静态数据(例如 HTML 和 Twig 构造)的混合。
Twig 使用双大括号分隔符{{ }}
进行输出,并使用大括号百分比定界符{% %}
进行逻辑运算。 {# #}
用于发表评论。
此代码是示例 Twig 语法。 在此代码中,我们使用for
标签创建一个循环。
Twig 语法由标签,过滤器,函数,运算符和测试组成。
安装 Twig
首先,我们设置了 Twig。
我们将模板文件放入template
目录。
我们需要将autoload.php
文件添加到脚本中。
模板引擎
模板引擎或模板处理器是一个旨在将模板与数据模型结合以生成文档的库。 模板引擎通常用于在源代码预处理或生成动态 HTML 页面中生成大量电子邮件。
我们创建一个模板引擎,在其中定义静态零件和动态零件。 动态部分随后将替换为数据。 渲染函数随后将模板与数据结合在一起。
Twig 第一个例子
以下是 Twig 模板系统的简单演示。
first.php
我们使用FilesystemLoader
从指定目录加载模板。
输出通过render()
生成。 它带有两个参数:模板文件和数据。
templates/first.html.twig
这是模板文件,变量以{{}}
语法输出。
Twig 过滤器
过滤器使我们能够以各种方式修改数据。
filters.php
在示例中,我们有一个数组和一个字符串作为模板数据。
templates/filters.html.twig
过滤器应用|
字符。 该示例使用length
对单词进行计数,使用join
连接数组元素,并使用title
修改字符。
Twig 自定义过滤器
我们可以使用Twig_Filter
创建自定义过滤器。
customfilter.php
我们添加了一个名为accFirst
的新过滤器,它仅修改第一个字母,也可以处理重音。
templates/customfilter.html.twig
这是模板文件,使用自定义accFirst
过滤器。
Twig 循环
要创建循环,我们使用for
标签。
looping.php
我们将循环一个单词数组。
templates/words.html.twig
在模板文件中,我们遍历words
数组并生成 HTML 列表。 使用slice()
过滤器,我们可以遍历数组的一部分。
Twig 循环和if else
我们可以将for
标签与if
标签和else
标签结合在一起。
looping2.php
我们向模板文件发送用户数组。
templates/activeusers.html.twig
我们输出的用户名称user.active
属性为 true,当没有活动用户时,将显示else
标记的输出。
Twig set
标签
set
标签允许将值设置为模板内的变量。
我们有一个单词表。
我们使用sort
过滤器对数组进行排序,并使用set
将排序后的数组分配给sorted
变量。
Twig verbatim
标签
verbatim
将部分标记为不应该分析的原始文本。
例如,如果我们有一个讲解 Twig 标签的教程,则无需分析一部分演示。
Twig 格式过滤器
format
过滤器通过替换占位符来格式化给定的字符串。 它的作用类似于sprintf()
函数。
我们向模板发送两个变量。
我们使用format
构建字符串。
Twig 日期函数
date()
函数将参数转换为日期以允许进行日期比较。
用户阵列具有created_at
键。
在模板中,我们比较两个日期。
Twig 自动转义
Twig 自动转义某些字符,例如<或>。
可以使用autoescape
选项关闭自动转义。
用户可能会有意向应用添加危险的输入。 通过自动转义可以防止包含未知的 JS 文件。
如果启用了自动转义,我们可以使用raw
过滤器显示原始输入。
此部分输出显示字符如何转义。
Twig 测试
Twig 测试允许测试数据。 使用is
运算符进行测试。
我们有一个包含空,空和空白元素的单词数组。
为了处理空,空和空元素,Twig 进行了empty
和null
测试。
Twig 继承
Twig 的模板继承是一项强大的函数,可消除重复并促进维护。
inheritance.php
这是inheritance.php
文件。 它呈现derived.html.twig
,它从base.html.twig
扩展。
templates/base.html.twig
基本布局定义了两个由子代替换的块:title
和body
。
templates/derived.html.twig
派生的子模板使用extends
关键字从基本模板继承。 这两个块定义了自定义文本。
Symfony 的例子
Twig 是 Symfony 框架的组成部分。 下一个示例显示在 Symfony 骨架应用中使用 Twig 的步骤。
我们创建一个新的 Symfony 框架应用,然后移至项目目录。
我们包括开发服务器。
我们包括一些基本的 Symfony 组件,包括 Twig。
我们创建一个家庭控制器。
src/Controller/HomeController.php
在家庭控制器中,我们渲染index.html.twig
模板,并将其传递给$words
数组进行处理。
templates/base.html.twig
这是基本布局页面。
templates/home/index.html.twig
这是主页模板。 它使用for
标记遍历单词,然后将它们输出到无序列表中。
我们启动服务器。
我们导航到http://localhost:8000/home
以查看结果。
您可能也对以下相关教程感兴趣: PHP Faker 教程,Respect 验证教程,Rakit 验证教程 , PHP PDO 教程和 PHP 教程。