美文网首页
twig模板的简单语法示例

twig模板的简单语法示例

作者: Fairyin | 来源:发表于2016-05-10 17:13 被阅读4997次

TWIG 模板的主要特征。

  • 高效:Twig将模板编译成了优化了的PHP文件,与原生的PHP代码比较而言,性能损耗非常小。
  • 安全:Twig使用沙箱(sandbox)模式去运行模板中不被信任的代码。这使得我们可以选择Twig作为那些允许用 户修改模板的应用的模板引擎。
  • 灵活:Twig具有灵活的语法分析器和语法解析器,它允许开发人员定义自己的标签(tags)和过滤器(filters),并且创建自己的领域特定语言(DSL,domain specific language)。

1. spaceless

作用:消除页面中标签与标签之间的空格。

{% spaceless %}
<a rehf="bigood.com" target="_blank">Bigood.com</a>
<a rehf="bigood.com" target="_blank">Bigood.com</a>
{% endspaceless %}

2. 输出一个变量

{{ user.name }}
{{ user['name'] }}

3. if (判断一个变量是否存在)

{% if user is defined %}
{{ user.name }}
{% else %}
'没找到用户~'
{% endif %}

4. 条件语句

or 和 and

{% if a == '1' and b == '2' %}'true'{% endif %}
{% if a == '1' or b == '2' %}'true'{% endif %}

判断是否定义

{% if user is not defined %}
    'user 没有定义'
{% else %}
{{ user.anme }}
{% endif %}

判断是否为 null

{% if var is null %}
    {# do something #}
{% endif %}

判断是否为 false

{% if var is sameas(false) %}
'false'
{% else %}
'true'
{% endif %}

5. 循环

按数组的 key 遍历

{% for key in users|keys %}
{{ key }}
{% endfor %}

按数组的key,value遍历

{% for index, user in users %}
    {{ index }}:{{ user.id }}
{% endfor %}

6. autoescape

将字符串安全地处理成合法的指定数据 (true 启用 | false 禁用)

{% set var = '<a rehf="bigood.com" target="_blank">Bigood.com</a>' %}
{% autoescape true %}
    {{ var }}         {# 将会以文本的形式输出 #}
    {{ var|raw }}     {# 将会以 html 标签的形式输出 #}
    {{ var|escape }}  {# 将会以文本的形式输出 #}
{% endautoescape %}

7. block

相当于占位符,当被另一个模板继承时,可以调用这个模块。定义时的内容在继承的模板中默认是不会出现的,可以使用 {{ parent() }} 来显示。块名称可以使用字母数字字符和下划线,不允许使用破折号(-)。

{% block header %}
{% endblock %}

8. extends

类似 php 的 extends,不支持多重继承,只支持一个扩展模板
{% include %}:包含模板
{% extends %}:扩展模板
{% embed %} xxx {% endembed %}:包含模板并扩展该模板的内容,相当于 include 和 extends 的结合体
{% macro %} xxx {% endmacro %}:定义宏以便多次调用,与定义 PHP 函数无异
{% from aaa import bbb as ccc %}:从指定模板导入宏并设置别名

{% extends 'base.twig' %}

总结: TWIG 的使用和 PHP 非常类似,多使用几次就可以很快速的解决一般的页面输入要求了。

相关文章

  • twig模板的简单语法示例

    TWIG 模板的主要特征。 高效:Twig将模板编译成了优化了的PHP文件,与原生的PHP代码比较而言,性能损耗非...

  • symfony模板

    symfony默认的模板是twig,这是一个便携,高效,安全的模板引擎。 Twig twig是非常简洁的php模板...

  • drupal8 - 自定义theme工作流程

    模板引擎改为 Twig 使模板创建更简单,更安全。调试工具:DEVEL KNITsites/default/ser...

  • php使用twig模版引擎缓存问题

    twig官网:https://twig.symfony.com/ 安装 缓存问题 官网示例在twig2.0以上版本...

  • Twig和Medoo之 环境安装

    Twig 简介: Twig是一个快速、安全、灵活的PHP模板引擎。Twig被广泛运用于Web/PHP项目的开发,更...

  • tornado_模板

    模板配置 在Application中配置模板文件和静态文件路径 简单示例 模板符号 {{ expression }...

  • Twig模板的使用

    1.引言 本文中小结了Twig模板的入门级的基本使用(仅适合入门),更多详细的使用方法可以访问:http://...

  • Twig模板引擎的用法

    1.注释 {# 这是注释内容 #} 2.变量与控制 变量 可以直接使用变量 {{ value }}也可以为对象或数...

  • october中的twig模板

    october中使用twig模板语言扩展为多个函数,标签,过滤器和变量。这些扩展允许您使用CMS功能并访问模板中的...

  • RxJs学习笔记2--js基础知识--箭头函数

    基础语法: 其他形式: 几个示例: 高级语法 用法示例: 示例1: 示例2

网友评论

      本文标题:twig模板的简单语法示例

      本文链接:https://www.haomeiwen.com/subject/dkyyrttx.html