本文实例讲述了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中文网

twig模板引擎使用php,Twig模板引擎用法入门教程_PHP相关推荐

  1. twig php,Twig模板引擎用法入门教程

    本文实例讲述了Twig模板引擎用法.分享给大家供大家参考,具体如下: 介绍 Twig是一个灵活.高效并且安全的PHP模板引擎. 如果你使用过Smarty.Django或者Jinja这类基于文本的模板引 ...

  2. twig模板引擎使用php,Twig模板引擎用法入门教程

    本文实例讲述了Twig模板引擎用法.分享给大家供大家参考,具体如下: 介绍 Twig是一个灵活.高效并且安全的PHP模板引擎. 如果你使用过Smarty.Django或者Jinja这类基于文本的模板引 ...

  3. Pycharm设置开发模板/字体大小/背景颜色 - Python零基础入门教程

    目录 一.Pycharm 设置字体大小/风格 二.Pycharm 设置背景颜色 三.Pycharm 设置开发模板 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 > ...

  4. twig模板引擎使用php,Twig模板引擎

    使用Twig Twig是一个灵活,快速,安全的PHP模板语言.它将模板编译成经过优化的原始PHP代码.Twig拥有一个Sandbox模型来检测不可信的模板代码.Twig由一个灵活的词法分析器和语法分析 ...

  5. php模板引擎如何实现,php模板引擎技术简单实现

    用了smarty,tp过后,也想了解了解其模板技术是怎么实现,于是写一个简单的模板类,大致就是读取模板文件->替换模板文件的内容->保存或者静态化 tpl.class.php主要解析 as ...

  6. 写一个迷你版Smarty模板引擎,对认识模板引擎原理非常好(附代码)

    前些时间在看创智博客韩顺平的Smarty模板引擎教程,再结合自己跟李炎恢第二季开发中CMS系统写的tpl模板引擎.今天就写一个迷你版的Smarty引擎,虽然说我并没有深入分析过Smarty的源码,但是 ...

  7. 使用 .NET Core模板引擎创建自定义的模板和项目

    本文要点 .NET CLI 包含了一个模板引擎,它可以直接利用命令行创建新项目和项目项.这就是"dotnet new"命令. 默认模板集涵盖了默认控制台和基于 ASP.NET 的应 ...

  8. 自定义 Javascript 模板规则,打造轻量级模板引擎

    直接贴 TemplateHelper 代码了: var TemplateHelper = {englishChars: "ABCDEFGHIJKLMNOPQRSTUVWXYZ",b ...

  9. php模板引擎如何实现,PHP模板引擎如何实现

    假设使用标签形式作为模板语法 在解析环节我想到两种实现方式 1. 利用正则获取标签内容,然后将标签进行规则性的替换并使用eval进行解析,解析完成后再用正则进行替换 2. 利用正则获取标签内容,然后将 ...

最新文章

  1. 深度图像检测算法总结与对比
  2. AutoCAD VBA:过三点创建一个圆
  3. linux kill进程
  4. 导致Oracle性能抖动的参数提醒
  5. Python----倚楼听风雨
  6. 分区起始位置参数溢出_Kafka分区副本分配解析
  7. vmware centos6.4挂载ntfs移动硬盘
  8. 在 可编辑的 Div 的 光标位置 插入 文字 或 HTML
  9. Windows 命令 netstat 查看网络端口、telnet 检测对方端口是否可用
  10. 项目背景怎么描述_项目工作总结报告怎么写?搞定通用规范模型先
  11. 计算机Excel电子表格处理文件,#excel2016打不开已恢复的文件#所有表格打不开怎么办...
  12. (CVPR 2019) PointRCNN: 3D Object Proposal Generation and Detection From Point Cloud
  13. 京东手机评论分析(二):关键词提取
  14. 刷脸支付上线,追赶二维码支付指日可待?
  15. java将淘宝客链接转换为正常商品链接
  16. python写对象提供的方法_下面哪些是python读对象提供的“写”方法?
  17. 自动ip的计算机共享打印,局域网内自动获取ip地址怎么设置打印机共享文件夹...
  18. [日推荐]『车助手360』车主必备
  19. php发送邮件,使用PHPMailer
  20. 图的邻接矩阵存储及遍历操作

热门文章

  1. Samsung Pay体验札记:或推支付新浪潮
  2. 大型站点技术架构(七)--站点的可扩展性架构
  3. JavaScript substr() 和 substring() 方法的区别
  4. 学用 ASP.Net 之 System.Collections.Specialized.CollectionsUtil 类
  5. 我的一次被骗去培训班狗血的经历
  6. Java 错误: 找不到或无法加载主类,问题集合
  7. python requests库的简单使用
  8. linux重启和关机命令
  9. 无根树转有根树的一般方法
  10. python爬虫怎么爬小说_python从爬虫基础到爬取网络小说实例