twig 是个 简单而强力的模板,因为在学习sf 所以看看她。
本文来源http://twig.sensiolabs.org/doc/tags/index.html
目前支持的tags包括
for if macro filter set extends block include import from use spaceless autoescape raw flush do
twig在html分为3种
{{...}} 直接输出其中的变量
{#...#} 注释标签
{%...%} 命令标签,就是我们要学习的这些
for标签
这个最简单,就是循环。
基于数组的循环
本程序源码为asp与acc编写,并没有花哨的界面与繁琐的功能,维护简单方便,只要你有一些点点asp的基础,二次开发易如反掌。 1.功能包括产品,新闻,留言簿,招聘,下载,...是大部分中小型的企业建站的首选。本程序是免费开源,只为大家学习之用。如果用于商业,版权问题概不负责。1.采用asp+access更加适合中小企业的网站模式。 2.网站页面div+css兼容目前所有主流浏览器,ie6+,Ch
1
{% for i in 0..10 %}
* {{ i }}
{% endfor %}
{% for i in 0..10 %}
* {{ i }}
{% endfor %}
基于字母的循环
{% for letter in 'a'..'z' %}
* {{ letter }}
{% endfor %}
{% for letter in 'a'..'z' %}
* {{ letter }}
{% endfor %}
在循环体内部的变量
| 变量名 | 描述 |
|---|---|
| loop.index | 循环的次数(从1开始) |
| loop.index0 | 循环的次数(从0开始) |
| loop.revindex | 循环剩余次数(最小值为1) |
| loop.revindex0 | 循环剩余次数(最小值为0) |
| loop.first | 当第一次循环的时候返回true |
| loop.last | 当最后一次循环的时候返回true |
| loop.length | 循环的总数 |
| loop.parent | 被循环的数组 |
loop.length, loop.revindex, loop.revindex0,loop.last 这几个值只有在被循环的是 php数组 或实现了Countable 接口的类,才有效。
添加一个条件
跟PHP不一样,在循环内部不支持break和continue语句,你只能通过过滤器去跳过一些循环,就像这样
else 分支
如果 users是个空数组就会输出no user found 。
按keys循环
按keys, values循环
if标签
这个不用多说,直接看例子{% if users %}
{% if kenny.sick %}
Kenny is sick.
{% elseif kenny.dead %}
You killed Kenny! You bastard!!!
{% else %}
Kenny looks okay --- so far
{% endif %}
macro标签
macro(宏标签)类似于其他语言中的函数,常用于填充html标签,以下是一个例子,用来渲染
{% macro input(name, value, type, size) %}
{% endmacro %}
{% macro input(name, value, type, size) %}
{% endmacro %}
macro与函数的不同之处在于:
1、参数的默认值是通过macro块内部的 default过滤器来定义的。
2、参数总是可选的。
另外,就跟php函数一样,macro内部是无法使用外部的变量的。但你可以传递一个特殊变量_context作为参数来获取整个内容。
macro可以被定义在任何的模板内,但在你使用之前需要使用 imported
{% import "forms.html" as forms %}
{% import "forms.html" as forms %}然后就可以这样使用了
{{ forms.input('username') }}
{{ forms.input('password', null, 'password') }}
{{ forms.input('username') }}
{{ forms.input('password', null, 'password') }}
如果你要在定义macro的模板里使用,就不需要imported 可以使用特殊变量_self{{ _self.input('username') }}
{{ _self.input('username') }}
{% macro input(name, value, type, size) %}
{% endmacro %}
{% macro wrapped_input(name, value, type, size) %}
{% macro wrapped_input(name, value, type, size) %}
{# forms.html #}
{% macro input(name, value, type, size) %}
{% endmacro %}
{# shortcuts.html #}
{% macro wrapped_input(name, value, type, size) %}
{% import "forms.html" as forms %}
{% macro input(name, value, type, size) %}
{% endmacro %}
{# shortcuts.html #}
{% macro wrapped_input(name, value, type, size) %}
{% import "forms.html" as forms %}
filter标签
就是给整个区块使用过滤器
{% filter upper %}
This text becomes uppercase
{% endfilter %}
{% filter upper %}
This text becomes uppercase
{% endfilter %}
{% filter lower|escape %}
SOME TEXT
{% endfilter %}
摘自 jiaochangyun的专栏
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号