twig是比较快的php模板引擎,可以将模板编译成纯粹的优化php代码,具有很好的扩展性,灵活的词法分析程序和分析器功能,小编提供的twig 中文手册,从简单的安装到最后的代码生成都有详细的介绍,帮助用户快速掌握twig。从事php开发的朋友可以下载!

twig变量介绍
变量
程序会传递给模板若干变量,你需要在模板里输出他们。例如输出 $hello
[html] view plaincopyprint?
{{ hello }}
如果传递给模板的是对象或者数组,你可以使用点 . 来输出对象的属性或者方法,或者数组的成员。或者你可以使用下标的方式。
[html] view plaincopyprint?
{{ foo.bar }}
{{ foo['bar'] }}
如果你访问的值不存在就会返回null。TWIG有一整套的流程来确认值是否存在。
for.bar会进行以下操作
。。。如果 foo是个数组,就尝试返回bar成员,如果不存在的话,往下继续
。。。如果foo是个对象,会尝试返回bar属性,如果不存在的话,往下继续
。。。会尝试运行bar方法,如果不存在的话,往下继续
。。。会尝试运行getBar方法,如果不存在的话,往下继续
。。。会尝试运行isBar方法,如果不存在的话,返回null
for['bar'] 就简单很多了 for必须是个数组,尝试返回bar成员,如果不就返回null
全局变量
TWIG定义了有一些全局变量
_self 这个参看macro标签
_context 这个就是当前的环境
_charset: 当前的字符编码
变量赋值
具体参见set标签
[html] view plaincopyprint?
{% set foo = 'foo' %}
{% set foo = [1, 2] %}
{% set foo = {'foo': 'bar'} %}
过滤器 Firters
变量可以被过滤器修饰。过滤器和变量用(|)分割开。过滤器也是可以有参数的。过滤器也可以被多重使用。
下面这例子就使用了两个过滤器。
[html] view plaincopyprint?
{{ name|striptags|title }}
striptas表示去除html标签,title表示每个单词的首字母大写。更多过滤器参见我博客
过滤器也可以用在代码块中,参见 filter标签
[html] view plaincopyprint?
{% filter upper %}
This text becomes uppercase
{% endfilter %}