php 模板引擎扩展,Twig高性能、安全、易扩展的php模板引擎

我们都知道原始的php里面嵌入html代码,这样看起来php自己就是一个模版引擎了。今天我来介绍一下高性能、安全、易扩展的php模板引擎Twig。

Twig官方网站:http://twig.sensiolabs.org/

Twig是一个先进的php模板引擎,有以下特点:

1、高性能:Twig把模板编译成经优化过的php代码。

2、安全:Twig支持沙盒模式,可以安全的执行非信任的代码。

3、易扩展:Twig允许我们自己定义一些标签和filter,这样丰富模板语法。

使用php模板引擎Twig的理由

谈到到php的模板引擎,有的人会说php自己就像一个模版引擎了,但是它没有具有高级模板引擎的特性。

1、简洁

php语法在输出的时候显得冗长如下:

原生php语法:

Twig语法:

{{ var }}

{{ var|escape }}

{{ var|e }} {# shortcut to escape a variable #}

2、完全模板化的语法

对于常用的表达式和集合迭代循环输出Twig有一些短标签。

{% for user in users %}

* {{ user.name }}

{% else %}

No users have been found.

{% endfor %}

3、强大的特性

利用Twig你可以很轻松的写出强大功能丰富的模板,因为Twig支持:多模板继承,模板块(blocks),自动输出转义等等。

{% extends "layout.html" %}

{% block content %}

Content of the page...

{% endblock %}

4、语法简单,易于学习

Twig的语法简单,已经经过优化让web设计能够最大限度的提高工作效率。

5、扩展性

Twig是开源的架构,扩展性强,如果它内置语法不能满足你,你完全可以自己定义一些标签、filter、函数function、甚至操作符等。

6、单元测试

Twig完全可以单元测试,而且内库稳定,已经广泛用于大型的项目中。

7、文档

Twig用于强大、完整的开发文档和API在线联机丛书。

8、安全性

输出自动转义防止脚本攻击,可以在全局开启或本地开启自动转义选项。

{% autoescape true %}

{{ var }}

{{ var|raw }} {# var won't be escaped #}

{{ var|escape }} {# var won't be doubled-escaped #}

{% endautoescape %}

Twig支持沙盒模式:Twig可以执行模板代码在一个沙盒环境中,在这个沙盒环境下只能访问有限的标签、资源、方法。沙盒也能全局开启或本地开启:

{{ include('page.html', sandboxed = true) }}

9、清晰的、精准的报错信息

当Twig模板有语法错误时,它能够输出清晰的、精准的报错信息,这个很利于我们进行调试和快速的找出问题。

10、快速、高性能

Twig目标之一就是能多快就快,为了实现速度能达到最大化,Twig把模版编译成优化过后的php代码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值