Twig模板引擎用法入门教程

 更新时间:2016年01月20日 14:39:13   作者:忧心  
这篇文章主要介绍了Twig模板引擎用法,分析了Twig模板引擎的基本功能、安装与简单使用方法,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • php实现网站留言板功能

    php实现网站留言板功能

    这篇文章主要介绍了php实现网站留言板功能,主要仿照了畅言留言板和网易跟帖样式进行制作,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2015-11-11
  • laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析

    laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析

    这篇文章主要介绍了laravel框架路由分组,中间件,命名空间,子域名,路由前缀,结合实例形式分析了laravel框架路由分组,中间件,命名空间,子域名,路由前缀相关概念、原理与基本使用方法,需要的朋友可以参考下
    2020-02-02
  • php实现网站插件机制的方法

    php实现网站插件机制的方法

    这些天想作一个在网站中实现插件的功能,谷歌了一下,发现一篇文章感觉对我帮助很大,帖出来和大家分享,废话不多说,直接帖出代码供大家分析.
    2009-11-11
  • php操作XML、读取数据和写入数据的实现代码

    php操作XML、读取数据和写入数据的实现代码

    这篇文章主要介绍了php操作XML、读取数据和写入数据的实现代码,需要的朋友可以参考下
    2014-08-08
  • PHP多进程编程实例

    PHP多进程编程实例

    这篇文章主要介绍了PHP多进程编程实例,本文讲解的是在Linux下实现PHP多进程编程,需要的朋友可以参考下
    2014-10-10
  • 关于尾递归的使用详解

    关于尾递归的使用详解

    本篇文章介绍了,关于尾递归的使用详解。需要的朋友参考下
    2013-05-05
  • smarty模板数学运算示例

    smarty模板数学运算示例

    这篇文章主要介绍了smarty模板数学运算用法,结合实例形式分析了Smarty模板实现基本数学运算的操作技巧,需要的朋友可以参考下
    2016-12-12
  • PHP实现正则匹配所有括号中的内容

    PHP实现正则匹配所有括号中的内容

    这篇文章主要介绍了PHP实现正则匹配所有括号中的内容,需要的朋友可以参考下
    2018-06-06
  • thinkPHP5.1框架中Request类四种调用方式示例

    thinkPHP5.1框架中Request类四种调用方式示例

    这篇文章主要介绍了thinkPHP5.1框架中Request类四种调用方式,结合实例形式分析了thinkPHP5.1框架中Request类传统调用、静态调用、依赖注入及request属性四种调用方式,需要的朋友可以参考下
    2019-08-08
  • PHP使用glob方法遍历文件夹下所有文件的实例

    PHP使用glob方法遍历文件夹下所有文件的实例

    今天小编就为大家分享一篇PHP使用glob方法遍历文件夹下所有文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10

最新评论