关闭

ThinkPHP内置模板引擎的使用方法总结

标签: thinkphpphp
348人阅读 评论(0) 收藏 举报
分类:

ThinkPHP内置的模板引擎是一个自主创新的XML编译性模板引擎,下面通过一个案例分享一些ThinkPHP内置的模板引擎常用的模板标签的用法,包括变量输出、循环、判断、比较等,这些都是比较基础的用法,无法包括ThinkPHP内置模板引擎的全部标签和特性。

(1)下面是控制器 IndexAction 类的源码

<?php
class IndexAction extends Action{
    public function index() {
        $_SESSION['name']    =    'ThnkPHP Session';
        $vo    =    array('id'=>1,'name'=>'ThinkPHP','email'=>'liu21st@gmail.com');
        $this->assign('vo',$vo);
        $obj    =    (object)$vo;
        $this->assign('obj',$obj);
        $this->assign('array',array(5,260,13,7,40,50,2,1));
        $this->assign('num1',6);
        $this->assign('num2',2);
        $this->assign('num',6);
        $this->display();
    }
} 
?>

(2)以下演示的是上面控制器赋值到模板中的一些变量,常量以及数组的一些基础性用法

普遍变量输出

num1:{$num1}

对象输出

id:{$obj:id}

name:{$obj:name}

数组输出

id:{$vo['id']}

name:{$vo['name']}

自动判断数组和对象输出

id:{$vo.id}

name:{$vo.name}

系统常量输出(系统常量可以不用在控制器中使用 assign 赋值)

{$Think.now|date='Y-m-d H:i:s',###}

{$Think.server.PHP_SELF}

{$Think.session.name}

对变量使用函数(这里可以是内置函数或者自定义函数)

{$vo.name|strtolower|ucwords}

Foreach 输出

<foreach name="vo" key="key" item="item">
{$key}:{$item}
</foreach>

下面这个例子使用了循环标签、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>

输出结果类似为:

[1] 奇数行 5小于10 长度为1
[2] 偶数行 260大于5 260大于15 长度为3
[3] 奇数行 13大于5 长度为2
[4] 偶数行 7大于5 7小于10 长度为1
[5] 奇数行 40大于5 40大于15 长度为2
[6] 偶数行 50大于5 50大于15 长度为2
[7] 奇数行 2小于10 长度为1
[8] 偶数行 1小于10 长度为1

ThinkPHP内置的模板引擎比较标签

<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>

输出结果类似为:

6大于5



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2004次
    • 积分:59
    • 等级:
    • 排名:千里之外
    • 原创:4篇
    • 转载:1篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档