php社区twig,twig模板简单实用介绍
twig 是php模板引擎
twig帮助文档:
https://www.kancloud.cn/yunye/twig-cn/159684
相比之下,Twig拥有非常简洁的语法,它使得模版更具可读性:
{{ var }}
{{ var|escape }}
{{ var|e }} {# shortcut to escape a variable #}
模版导向语法:Twig为通用的模式提供了快捷方式,例如在遍历一个空数组时,会显示一个默认文本:
{% for user in users %}
* {{ user.name }}
{% else %}
No users have been found.
{% endfor %}
全功能:Twig为你提供了轻松构建强大模版的一切:多重继承,块,自动化输出转义,以及其他许多特性:
{% extends "layout.html" %}
{% block content %}
页面内容...
{% endblock %}
安全:说到安全,Twig拥有一些独特的特性:
自动输出转义:为安全考虑,你可以全局启用自动输出转义,或者只对某个块启用:
{% autoescape true %}
{{ var }}
{{ var|raw }} {# var won't be escaped #}
{{ var|escape }} {# var won't be doubled-escaped #}
{% endautoescape %}
沙盒:Twig可以在沙盒环境下评估任意模版,用户只能访问一组有限的标签,过滤器,以及由开发者定义的对象方法。沙盒可以全局地或者单独对某些模版启用:
{{ include('page.html', sandboxed = true) }}
清晰的错误信息:无论何时你在模版中遇到了语法错误,Twig都会输出带有出错的文件名和行号的帮助信息。它非常有助于调试。
快速:Twig的目标之一就是尽可能地快。为了尽可能实现最佳的速度,Twig将模版编译成极致优化的PHP代码。它的开销与常规的PHP代码相比,已经降到了极低。
{% for item in navigation %}
{{ item.caption }}
{% endfor %}
My Webpage
{{ a_variable }}
有两种形式的分隔符:{% ... %} 和 {{ ... }}。前者用于执行语句,例如for循环;后者将表达式的结果输出到模板中。
###设置变量
你可以在代码块内为变量分配值。这里用到了 set 标签:
{% set foo = 'foo' %}
{% set foo = [1, 2] %}
{% set foo = {'foo': 'bar'} %}
##过滤器
{{ name|striptags|title }}
###全局变量
以下变量在模板中始终可用:
_self: 引用当前模板;
_context: 引用当前上下文;
_charset: 引用当前字符集;
Members
{% for user in users %}
{{ user.username|e }}
{% endfor %}
##注释
{# note: disabled template because we no longer use this
{% for user in users %}
...
{% endfor %}
#}
被引入的模板render_box.html可以使用box变量。
模板的文件名,却决于模板加载器。举个例子:Twig_Loader_Filesystem允许你通过给定文件名称访问其他模板。你可以使用斜线来访问子目录内的模板:
{{ include('sections/articles/sidebar.html') }}
php社区twig,twig模板简单实用介绍相关推荐
- MonkeyTest简单实用介绍
什么是Monkeytest? monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动Trackball.按键灯操作来对设备上的程序进行压力测试,检测程序发 ...
- Python 框架 之 Django MVT 下的 T 的 模板简单介绍和使用
Python 框架 之 Django MVT 下的 T 的 模板简单介绍和使用 目录
- 虹科分享 | 简单实用的CANopen介绍,看完你就明白了(2)——CANopen框架与七种服务类型
目前,CANopen通讯协议已经在工业领域得到了广泛的使用,由于其面向对象的设计思路,CANopen协议已成为欧洲等国家的自动化公司标配的通讯接口之一.在本系列文章中,我们将介绍CANopen协议的基 ...
- Helm模板常用语法介绍与简单应用场景
Helm模板常用语法介绍与简单应用场景 文章目录 Helm模板常用语法介绍与简单应用场景 什么是Helm _help.tpl子模版 应用场景 预定义对象 关于变量 关键字及应用 函数 流程与控制 什么 ...
- HTML5期末大作业:电影影视网站设计——电影介绍(11页) 学生HTML个人网页作业作品下载 个人电影影视网页设计制作 大学生个人电影影视网站作业模板 简单个人电影影视
HTML5期末大作业:电影影视网站设计--电影介绍(11页) 学生HTML个人网页作业作品下载 个人电影影视网页设计制作 大学生个人电影影视网站作业模板 简单个人电影影视 常见网页设计作业题材有 个人 ...
- HTML5+CSS期末大作业:个人主页介绍主题——-我们的挚爱 (7页) 学生DW网页设计作业成品 大学生个人网站作业模板 简单个人网页制作
HTML5+CSS期末大作业:个人主页介绍主题---我们的挚爱 (7页) 学生DW网页设计作业成品 大学生个人网站作业模板 简单个人网页制作 常见网页设计作业题材有 个人. 美食. 公司. 学校. 旅 ...
- cp 过程流程图模板_程序流程图有什么用?简单实用的流程图模板大全
原标题:程序流程图有什么用?简单实用的流程图模板大全 程序流程图是什么呢?程序流程图就是用规定的符号描述一个程序中所需的各种操作或者判断的图表.程序流程图的设计是在处理流程图的基础上,通过对数据的整理 ...
- 23HTML5期末大作业:电影影视网站设计——电影介绍(11页) 学生HTML个人网页作业作品下载 个人电影影视网页设计制作 大学生个人电影影视网站作业模板 简单个人电影影视
HTML5期末大作业:电影影视网站设计--电影介绍(11页) 学生HTML个人网页作业作品下载 个人电影影视网页设计制作 大学生个人电影影视网站作业模板 简单个人电影影视 常见网页设计作业题材有 个人 ...
- 简单实用思维导图模板分享
很多人问一个这样的问题,为什同样的绘制方法同样的软件绘制成功的思维导图差距那么大呢?这时就和上述因素没有什么关系了,这就是后期的丰富程度与内容的多少有很大的关系,这时可以考虑使用模板,模板的绘制是从外 ...
最新文章
- 软件文本框横线_免费开源剪辑软件Shotcut推荐和使用教程
- 金蝶K3cloud问题单排查
- linux常用的服务配置
- LeetCode算法入门- Valid Parentheses -day11
- gin ajax 获取请求参数,gin请求参数处理
- easyexcel导入时读不到数据_easyexcel读取任意表格以及使用中的坑
- ps cs6 磨皮插件_DR5插件加强版 for Mac(ps磨皮滤镜)
- c++基础:继承与组合!
- android-常用布局-三
- secoclient在Mac下使用无法上网的解决办法
- 1000套电子物联网专业毕业设计和电赛设计资料822份
- MySQL 数据库备份(完全备份与恢复)
- 软件工程复习 第三章 软件立项
- 【论文翻译】:(arxiv 2022)PS-NeRV: Patch-wise Stylized Neural Representations for Videos
- 无法启动正在运行的oracle,Oracle侦听器未运行,无法启动
- android实现天气预报App(0)
- 热力夏季运动会java,夏季运动会作文(精选8篇)
- ArcMap中的各种GIS文件的变换(img转tif,tif坐标系转换,shp坐标系转换)
- muse-ui.css_Muse UI:适用于Vuejs 2.0的Material Design UI库
- 谷粒商城项目8——商品上架 上架商品sku保存到es nginx配置
热门文章
- 图像金字塔:概念及实现
- HTTP返回代码 201 304 404 500等代表的含义
- JavaScript之childNodes 和 children 区别
- 基于PP-Human V2的闯入人员检测
- 选型宝访谈:当超融合一体机,具备云计算的基因,将会怎样?
- python 获取图像亮度和锐度_python增加图像对比度的方法
- PON系统向单波速率25G演进
- Java 操作excel表格 - JXL(Java excel api)
- python写百行代码可运行_56 岁潘石屹学俩月 Python ,写下百行代码
- 苹果退款_苹果ios退款流程最新苹果内购退款政策条例