twig

扩展Twig

本章描述了如何对Twig 1.12进行扩展。如果你在使用一个旧版本,请移步到过往文档继续阅读。

有多重扩展Twig的方法,可以加入新的标记、Filter、Test、操作符、全局变量以及函数。甚至还能利用Node visitors对解析器本身进行扩展。

本文的第一章节会介绍如何简单的扩展Twig。如果你想要在不同项目中进行复用,或者共享给他人使用,后面章节中还提供了如何创建扩展的内容。

开发者的Twig

Tags: 

本章讲述的是Twig的API,而不是Twig的模板语言。这些内容会对为应用实现模板接口的工作很有帮助,对模板的制作工作就没什么意义了。

基础

Twig的中心对象为environment(是Twig_Environment类的实例)。这个类的实例用于存储配置和扩展,并用来从文件系统或者其他位置载入模板。

绝大多数应用需要在应用初始化的时候,创建一个Twig_Environment对象,然后用它来加载模板。在有些案例中,会有多个环境同时并存,用来处理不同的配置。

下面举个简单例子,配置Twig来为应用载入模板:

模板设计者的Twig

Tags: 

本文描述了模板引擎中涉及到的语法和语义,对Twig模板的设计会很有帮助。

概要

模板是一个简单的文本文件。它能够生成任何文本格式(HTML, XML, CSV, LaTeX等)。他没有固定的扩展名,htmlxml都没关系。

模板中包含变量表达式在模板被处理时会被替换为真实的值,tags则对模板的逻辑进行控制。

下面用一个小例子展示一些基础内容,当然,后面会做进一步的深入。

简介

Tags: 

Twig是一个高效、安全并可扩展的PHP模板引擎。

如果你具有Smarty, Django或者Jinja这养的基于文本的模板语言的经验,那么你对Twig会感觉一见如故。在遵循PHP理念的基础之上,提供了具备强大功能的模板环境,不论是对开发者还是设计者来说,这一引擎都具有良好的可用性。

关键特性:

  • 快速:Twig把模板编译成为优化后的PHP代码。相对普通PHP代码来说,其额外开销非常轻微。
  • 安全:Twig会使用一个沙箱模式来运行不信任的模板代码。这使得Twig可以在用户可以修改模板设计的应用中工作良好。
  • 弹性:Twig试用了弹性的词法和语法分析器。开发者可以定义自己的标记和过滤,并创建自己的DSL。

需求

Twig需要的最小运行环境为PHP 5.2.4

安装

推荐使用Composer安装Twig:

页面