• Reciprocity key to denuclearization process 2018-10-24
  • 拥有7.2亿美元比特币大金主突然苏醒 数字货币“吓跌” 2018-10-24
  • ::紫光阁::中共中央国家机关工作委员会 2018-10-23
  • 3名中国游客在瑞典遭粗暴对待 外交部敦促瑞方重视中方关切 2018-10-21
  • 国足20-0大胜!女梅西6球,女C罗轰5球,男足才赢19-0 2018-10-21
  • 消协提醒:春节预订酒店有技巧 预付卡消费需谨慎 2018-10-20
  • 陈敏尔唐良智会见传化集团董事长徐冠巨 2018-10-20
  • 扫黑除恶利剑高悬 前8月榕查处违法采砂案件93起 2018-10-20
  • 不能让所谓的收视率愚弄观众 2018-10-18
  • 新希望!中超19岁新星半年增重十斤 曾戏耍恒大两国脚 2018-10-17
  • 迎丰收 晒丰收 庆丰收 2018-10-15
  • “捂脸表情”被注册成商标?申请人不认为商标侵权 2018-10-15
  • 战巡南海、绕岛巡航…空军有“飞出去”的主心骨 2018-10-14
  • 幼儿园要求家长写一万字读后感:不能这样玩家长|幼儿园|家长-教育时讯 2018-10-13
  • 中国故宫文物展在希腊举行 2018-10-13
  • ThinkPHP内置模板引擎的使用方法总结

    栏目: 编程语言 发布于: 2014-05-01 11:57:49

    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

    您可能感兴趣的文章

    • thinkphp模板中判断volist循环的最后一条记录
    • Thinkphp 模板中常用的系统变量总结
    • thinkphp页面跳转(successerror)如何设置跳转等待时间
    • ThinkPHP中的查询技巧总结
    • Thinkphp 内部函数 ADSLCFUI 快捷方法全解析
    • thinkphp关闭缓存的方法
    • php统计搜索引擎访问记录
    • thinkphp打印最后一条sql语句
    本站文章除注明转载外,均为本站原创或编译?;队魏涡问降淖?,但请务必注明出处。
    转载请注明:文章转载自 七星彩票平台
    本文标题:ThinkPHP内置模板引擎的使用方法总结
    IT技术书籍推荐:
    疯狂Android讲义(第3版)
    疯狂Android讲义(第3版)
    李刚 (作者)
    移动互联网已经成为当今世界发展最快、市场潜力最大、前景最诱人的业务,而Android则是移动互联网上市场占有率最高的平台。 本书是《疯狂Android讲义》的第3版,本书基于最新的Android 5,并采用了Google推荐的IDE:Android Studio作为开发工具,书中每个案例、每个截图都全面升级到Android 5。本书全面介绍了Android应用开发的相关知识,全书内容覆盖了Android用户界面编程、Android四大组件、Android资源访问、图形/图像处理、事件处理机制、Android输入/输出处理、音频/视频多媒体应用开发、OpenGL与3D应用开发、网络通信编程、Android平台的Web Service、传感器应用开发、GPS应用开发、整合第三方Map服务等。