您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > PHP >

TWIG 模板设计 快速入门手册 中文(2)

来源:未知 责任编辑:责任编辑 发表时间:2015-09-09 15:34 点击:

{{ 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标签

{% set foo = 'foo' %} 
{% set foo = [1, 2] %} 
{% set foo = {'foo': 'bar'} %} 
{% set foo = 'foo' %}
{% set foo = [1, 2] %}
{% set foo = {'foo': 'bar'} %}


过滤器 Firters
变量可以被过滤器修饰。过滤器和变量用(|)分割开。过滤器也是可以有参数的。过滤器也可以被多重使用。
下面这例子就使用了两个过滤器。

{{ name|striptags|title }} 
{{ name|striptags|title }}striptas表示去除html标签,title表示每个单词的首字母大写。更多过滤器参见我博客


过滤器也可以用在代码块中,参见 filter标签

{% filter upper %} 
  This text becomes uppercase 
{% endfilter %} 
{% filter upper %}
  This text becomes uppercase
{% endfilter %}

函数 Function
这个没什么好说的,会写程序的都知道,TWIG内置了一些函数,参考我的博客
举个例子 返回一个0到3的数组,就使用 range函数
{% for i in range(0, 3) %} 
    {{ i }}, 
{% endfor %} 
{% for i in range(0, 3) %}
    {{ i }},
{% endfor %}

流程控制
支持for循环 和 if/elseif/else结构。直接看例子吧,没什么好说的。
<h1>Members</h1> 
<ul> 
    {% for user in users %} 
        <li>{{ user.username|e }}</li> 
    {% endfor %} 
</ul> 
<h1>Members</h1>
<ul>
    {% for user in users %}
        <li>{{ user.username|e }}</li>
    {% endfor %}
</ul>
{% if users|length > 0 %} 
    <ul> 
        {% for user in users %} 
            <li>{{ user.username|e }}</li> 
        {% endfor %} 
    </ul> 
{% endif %} 
{% if users|length > 0 %}
    <ul>
        {% for user in users %}

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • PHP测试
  • 十天学会php之第六天
  • 查找数组中指定键名的值
  • 几种显示数据的方法的比较
  • 使用xmlhttp为网站增加域名查询功能
  • PHP+MYSQL+Javascript数据库查询结果的动态显示
  • 用redis实现跨服务器session
  • 用新浪微博接口发送图片微博失败的原因
  • smarty局部缓存技术[源码分析]
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1