TWIG模板设计快速入门手则中文.docx
文本预览下载声明
TWIG 模板设计 快速入门手册 中文 分类: php 2012-01-09 09:55 3872人阅读 评论(2) 收藏 举报 inputincludewhitespacestylesheethtmloutput目录(?)[+]写了好几篇关于twig的东西。。居然还没写个快速入门之类的。现在就写来源?/doc/templates.html概要twig 的模板就是普通的文本文件,也不需要特别的扩展名,.html .htm .twig 都可以。模板内的 变量 和 表达式 会在运行的时候被解析替换,标签(tags)会来控制模板的逻辑下面是个最小型的模板,用来说明一些基础的东西[html] view plaincopyprint?!DOCTYPE?html?html??head??titleMy?Webpage/title??/head??body??ul?id=navigation??{%?for?item?in?navigation?%}???lia?href={{?item.href?}}{{?item.caption?}}/a/li??{%?endfor?%}???/ul???h1My?Webpage/h1??{{?a_variable?}}???/body?/html?里面包含两种符号 {% ... %} 和 {{ ... }} 第一种用来控制的比如for循环什么的,第二个是用来输出变量和表达式的ide 支持很多ide 都对twig进行高亮支持。大伙自己找需要的吧。Textmate?via the?Twig bundleVim?via the?Jinja syntax pluginNetbeans?via the?Twig syntax pluginPhpStorm?(native as of 2.1)Eclipse?via the?Twig pluginSublime Text?via the?Twig bundleGtkSourceView?via the?Twig language definition?(used by gedit and other projects)Coda?and?SubEthaEdit?via the?Twig syntax mode变量程序会传递给模板若干变量,你需要在模板里输出他们。例如输出 $hello[html] view plaincopyprint?{{?hello?}}??如果传递给模板的是对象或者数组,你可以使用点 . 来输出对象的属性或者方法,或者数组的成员。或者你可以使用下标的方式。[html] view plaincopyprint?{{?foo.bar?}}??{{?foo[bar]?}}??如果你访问的值不存在就会返回null。TWIG有一整套的流程来确认值是否存在。for.bar会进行以下操作。。。如果 foo是个数组,就尝试返回bar成员,如果不存在的话,往下继续。。。如果foo是个对象,会尝试返回bar属性,如果不存在的话,往下继续。。。会尝试运行bar方法,如果不存在的话,往下继续。。。会尝试运行getBar方法,如果不存在的话,往下继续。。。会尝试运行isBar方法,如果不存在的话,返回nullfor[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?%}??函数 Function这个没什么好说的,会写程序的都知道,TWIG内置了一些函数,参考我的博客举个例子 返回一个0到3的数组,就使用 range函数[html] view plaincopyprint?{%?for?i?in?range
显示全部