zoukankan      html  css  js  c++  java
  • ThinkPHP框架基础之视图模板篇


    默认的视图目录是模块的View目录(模块可以有多个视图文件目录,这取决于你的应用需要),框架的默认视图文件后缀是.html。 新版模板主题默认是空(表示不启用模板主题功能)。

    在每个模板主题下面,是以模块下面的控制器名为目录,然后是每个控制器的具体操作模板文件,例如:

    User控制器的add操作 对应的模板文件就应该是:View/User/add.html


    系统变量输出

    普通的模板变量需要首先赋值后才能在模板中输出,但是系统变量则不需要,可以直接在模板中输出,系统变量的输出通常以{$Think 打头,例如:

    1. {$Think.server.script_name} // 输出$_SERVER['SCRIPT_NAME']变量
    2. {$Think.session.user_id} // 输出$_SESSION['user_id']变量
    3. {$Think.get.pageNumber} // 输出$_GET['pageNumber']变量
    4. {$Think.cookie.name} // 输出$_COOKIE['name']变量

    支持输出 $_SERVER$_ENV$_POST$_GET$_REQUEST$_SESSION$_COOKIE变量。

    常量输出

    还可以输出常量

    1. {$Think.const.MODULE_NAME}

    或者直接使用

    1. {$Think.MODULE_NAME}

    配置输出

    输出配置参数使用:

    1. {$Think.config.db_charset}
    2. {$Think.config.url_model}

    模板继承

    模板继承是一项更加灵活的模板布局方式,模板继承不同于模板布局,甚至来说,应该在模板布局的上层。模板继承其实并不难理解,就好比类的继承一样,模板也可以定义一个基础模板(或者是布局),并且其中定义相关的区块(block),然后继承(extend)该基础模板的子模板中就可以对基础模板中定义的区块进行重载。

    例子:

    父模板=>parent.html;

    <body>
    <block name="top">
    <div>页面头信息</div>
    </block>
    <block name="content">
    <div>页面内容</div>
    </block>
    <block name="foot">
    <div>页面尾信息</div>
    </block>
    </body>

    子模板=>children.html;

    <extend name="parent"/>
    <block name="content">
    <div>子页面自定义内容</div><!--内容模块可以自己定义-->
    </block>

    内置标签

    foreach

    <?php
    namespace HomeController;
    use ThinkController;
    class DemoController extends Controller
    {
        
        public function showtest()
        {
            $attr = array("one"=>100,"two"=>200);
            $this->assign("attr",$attr);//注册变量
            $this->display();//显示模板
        }
    }

    在对应的showtest.html模板里:

    <!--foreach遍历数组-->
    <foreach name="attr" item="v">
    <div><{$v}></div>
    </foreach>

    if

    <if condition = "$a == 10">
    <div>等于</div>
    <if condition = "$a lt 100">
    <div>小于</div>
    <if condition = "$a gt 1">
    <div>大于</div>
    <if condition = "$a ge 10">
    <div>>=</div>
    <if condition = "$a le 10">
    <div><=</div>
    <else />
    <div>###</div>
    </if>
  • 相关阅读:
    bzoj 2259 [Oibh]新型计算机 ——最短路(建图)
    bzoj 4555 [Tjoi2016&Heoi2016]求和——NTT+第二类斯特林数
    NOIp2018 D2T3 defense——树上倍增
    bzoj 3456 城市规划——分治FFT / 多项式求逆 / 多项式求ln
    洛谷 4721 【模板】分治 FFT——分治FFT / 多项式求逆
    bzoj 3625(CF 438E)The Child and Binary Tree——多项式开方
    洛谷 P3377 模板左偏树
    CF 1016 C —— 思路
    洛谷 P3806 点分治模板
    洛谷 P4149 [ IOI 2011 ] Race —— 点分治
  • 原文地址:https://www.cnblogs.com/Itwonderful/p/5588100.html
Copyright © 2011-2022 走看看