PHP模板引擎twig介绍

来源:互联网 发布:原生js处理ajax超时 编辑:程序博客网 时间:2024/06/05 04:45

一、Twig的介绍

Twig是功能最全面的现代PHP模板引擎之一,也是最快速的引擎之一。Twig将模板编译为纯粹的优化PHP代码,因此系统开销很小。其特性是原生模板继承,在其中将模板编译为类;在编译过程中完成自动转义,并且有一种安全的沙盒模式。所有这些特性为Twig提供了良好的扩展性。灵活的词法分析程序和分析器让开发人员能够定义自己的标记、过滤器等。

如果你接触过其它的一些基于文本的模版语言,如Smarty、Django或Jinja,你应该有一种宾至如归的感觉。Twig既坚持了PHP的原则又为模版环境添加了非常有用的功能,对设计师和开发人员都非常友好。她的关键特性如下:
快速:Twig把模版编译成完全优化的PHP代码,相比于常规PHP代码,开销减少到最低限度。
安全:Twig有一个沙盒模式用于评估不可信的模板代码。这使得Twig可以被用作那些允许用户修改模版的应用程序的模版语言。
灵活:Twig是由一个灵活的词法分析器和语法分析器驱动。这允许开发人员定义自己的自定义标签和过滤器,并创建自己的DSL。

twig的模板就是普通的文本文件,也不需要特别的扩展名,.html .htm .twig都可以。模板内的变量和表达式会在运行的时候被解析替换,标签(tags)会来控制模板的逻辑下面是个最小型的模板,用来说明一些基础的东西

<!DOCTYPE html><html><head>  <title>My Webpage</title></head><body>  <ul id="navigation">    {% for item in navigation %}    <li><a href="{{ item.href }}">{{ item.caption }}</a></li>    {% endfor %}  </ul>  <h1>My Webpage</h1>  {{ a_variable }}</body>

里面包含两种符号{% … %}和{{ … }} 第一种用来控制的比如for循环什么的,第二个是用来输出变量和表达式的。

twig可以提高代码的重用度,twig的继承特点可以让我们针对重复的HTML代码生成模板文件,建立通用组件,减少重复代码的编写。

原创粉丝点击