ThinkPHP示例之:内置模板引擎的使用

ThinkPHP内置的模板引擎是一个自主创新的XML编译性模板引擎,这里仅仅演示常用的模板标签的用法,包括变量输出、循环、判断、比较等,这些都是比较基础的用法,无法包括ThinkPHP内置模板引擎的全部标签和特性。
	普遍变量输出
	num1=	{$num1}
	数组输出
	id:{$vo['id']} 
	name:{$vo['name']} 
	email:{$vo['email']} 
	对象输出:
	id:{$obj:id} 
	name:{$obj:name} 
	email:{$obj:email} 
	自动判断数组和对象输出:
	id:{$vo.id} 
	name:{$vo.name} 
	email:{$vo.email} 
	对变量使用函数(可以使用内置函数或者自定义函数)
	{$vo.name|strtolower|ucwords}
	系统常量
	{$Think.now|date='Y-m-d H:i:s',###}
	{$Think.server.PHP_SELF}
	{$Think.session.name}
	Foreach 输出
	< foreach name="vo" key="key" item="item" >
	{$key}:{$item}
	< /foreach>
普通变量输出:num1= {$num1}
数组变量输出:
id:{$vo['id']}
name:{$vo['name']}
email:{$vo['email']}
对象输出:
id:{$obj:id}
name:{$obj:name}
email:{$obj:email}
自动判断数组和对象输出:
id:{$vo.id}
name:{$vo.name}
email:{$vo.email}
对变量使用函数
{$vo.name|strtolower|ucwords}
系统常量
{$Think.now|date='Y-m-d H:i:s',###}
{$Think.server.PHP_SELF}
{$Think.session.name}
Foreach 输出
{$key}:{$item}

下面这个例子使用了循环标签、Switch标签、比较标签,请去掉标签开头的空白

	< volist name="array" id="val" key="i">[{$i}]
	< eq name="odd" value="1" >偶数行< /eq>
	< eq name="odd" value="0" >奇数行< /eq>
	< gt name="val" value="5">{$val}大于5< /gt>
	< if condition=" $val gt 15" > {$val}大于15
	< elseif condition="$val lt 10" />{$val}小于10
	< /if>
	< switch name="val">
	< case value="1" >数据{$val}< /case>
	< case value="2">数据{$val}< /case>
	< case value="3">数据{$val}< /case>
	< default />其他数据是 {$val}
	< /switch>
	< /volist>
[{$i}] 偶数行 奇数行 {$val}大于5 {$val}大于15 {$val}小于10 长度为1 长度为2 长度为3 长度大于3

比较标签
< gt name="num1" value="3">大于3< /gt>
< lt name="num2" value="3">小于3< /lt>
大于3
小于3
条件判断
	< if condition=" $num gt 5" > {$num}大于5
	< elseif condition="$num gt 3" />{$num}大于3
	< else />其他{$num}
	< /if>
{$num}大于5 {$num}大于3 其他{$num}

示例源码
控制器IndexAction类
highlight_file(LIB_PATH.'Action/IndexAction.class.php');