本文实例讲述了Twig模板引擎用法。分享给大家供大家参考,具体如下:

介绍

Twig是一个灵活、高效并且安全的PHP模板引擎。

如果你使用过Smarty、Django或者Jinja这类基于文本的模板引擎的话,那么你会觉得Twig是很自然而然的事情。Twig严格遵守了PHP的信念,同时增加了在模板环境中很有用的函数,这些做法使得Twig不论是对设计师还是开发人员,都是非常友好的。

Twig的主要特征有:

高效:Twig将模板编译成了优化了的PHP文件,与原生的PHP代码比较而言,性能损耗非常小。

安全:Twig使用沙箱(sandbox)模式去运行模板中不被信任的代码。这使得我们可以选择Twig作为那些允许用户修改模板的应用的模板引擎。

灵活:Twig具有灵活的语法分析器和语法解析器,它允许开发人员定义自己的标签(tags)和过滤器(filters),并且创建自己的领域特定语言(DSL,domain specific language)。

必要条件

Twig需要的最低PHP版本为5.2.4。

安装

安装Twig有多种方法。如果你不能确定使用哪一种,那么直接下载压缩包即可。

压缩包安装

从下载页面下载最新的压缩包

解压

将解压出来的文件放置到项目可以访问到的地方。

安装开发版本

安装Subversion或者Git

SVN地址:http://svn.twig-project.org/trunk/, git地址git://github.com/fabpot/Twig.git

使用PEAR包安装

安装PEAR

pearchannel-discoverpear.twig-project.org
pearinstalltwig/Twig (或者pearinstalltwig/Twig-beta)

基础API用法

本节将给出一个Twig的PHP API的简单介绍

使用Twig的第一步是注册它的autoloader:

require_once '/path/to/lib/Twig/Autoloader.php';
Twig_Autoloader::register();

记得用Twig所在路径代替/path/to/lib

注:Twig在类的命名上遵守PEAR的约定,这意味着你可以在自己编写的autoloader中整合对Twig的类的加载。

$loader = new Twig_Loader_String();
$twig = new Twig_Environment($loader);
$template = $twig->loadTemplate('Hello {{ name }}!');
$template->display(array('name' => 'Fabien'));

Twig使用加载器(Twig_Loader_String)来定位模板,同时使用环境(Twig_Environment)来储存配置信息。

loadTemplate()方法使用加载器设定的信息来定位和加载模板,同时返回一个模板对象(Twig_Template),该对象可以使用display()方法来进行渲染。

Twig也可以使用文件系统加载器(filesystem loader):

$loader = new Twig_Loader_Filesystem('/path/to/templates');
$twig = new Twig_Environment($loader, array(
'cache' => '/path/to/compilation_cache',
));
$template = $twig->loadTemplate('index.html');

更多关于PHP模板相关内容感兴趣的读者可查看本站专题:《PHP模板技术总结》

希望本文所述对大家PHP程序设计有所帮助。

标签:
Twig,模板引擎

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
桃源资源网 Design By www.nqtax.com

评论“Twig模板引擎用法入门教程”

暂无“Twig模板引擎用法入门教程”评论...

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。