这是Twig的文档,Twig是一个快速、安全、灵活的PHP模板引擎。Twig被广泛运用于Web/PHP项目的开发,更多时候是集成到一些 PHP框架中,如Symfony 1.x、Symfony 2.x、Zend Framework 2.x、Yii Framework 2.x、Slim Framework 等等,当然你也可以在不使用任何框架的情况下直接使用Twig模版引擎来构建你的Web项目。
如果你接触过其它的一些基于文本的模版语言,如Smarty、Django或Jinja,你应该有一种宾至如归的感觉。Twig既坚持了PHP的原则又为模版环境添加了非常有用的功能,对设计师和开发人员都非常友好。她的关键特性如下:
快速:Twig把模版编译成完全优化的PHP代码,相比于常规PHP代码,开销减少到最低限度。
安全:Twig有一个沙盒模式用于评估不可信的模板代码。这使得Twig可以被用作那些允许用户修改模版的应用程序的模版语言。
灵活:Twig是由一个灵活的词法分析器和语法分析器驱动。这允许开发人员定义自己的自定义标签和过滤器,并创建自己的DSL。
前提条件
Twig至少需要PHP5.2.4来运行。
安装
推荐的安装Twig的方式是通过Composer安装:
1 | composer require “twig/twig:1.*” |
要了解更多关于其他的安装方法,请阅读《安装Twig模版引擎-Twig使用指南》;它也解释了如何安装Twig的C扩展。
基本API用法
本节为您提供了一个Twig 的 PHP API 的简单介绍。
12
3 4 5 6 |
require_once ‘/path/to/vendor/autoload.php’;
$loader = new Twig_Loader_String(); $twig = new Twig_Environment($loader);
echo $twig->render(‘Hello {{ name }}!’, array(‘name’ => ‘Fabien’)); |
Twig使用一个加载器(Twig_Loader_String)来定位模板,和一个环境(Twig_Environment)来存储配置信息。 render() 方法通过传递过来的第一个参数来加载模板,通过传递过来的第二个参数(也就是变量)来渲染它。作为模板通常存储在文件系统中,Twig还配备了一个文件系 统加载器:
12
3 4 5 6 |
$loader = new Twig_Loader_Filesystem(‘/path/to/templates’);$twig = new Twig_Environment($loader, array(
‘cache’ => ‘/path/to/compilation_cache’, ));
echo $twig->render(‘index.html’, array(‘name’ => ‘Fabien’)); |
如果你不使用Composer,你可以使用Twig内置的自动加载器:
12 | require_once ‘/path/to/lib/Twig/Autoloader.php’;Twig_Autoloader::register(); |
原文标题: Twig模版引擎简介-Twig使用指南