zoukankan      html  css  js  c++  java
  • 3.ThinkPHP入门---视图

    视图:MVC三大组成部分,负责信息的展示和输出

    1.视图的创建

    创建的位置需要是在分组目录下的view目录下余控制器同名的目录中。

    2.视图的展示

    smartytinkphp都是使用diaplay

    $this->dispaly();

    $this->display(‘模版文件名’);

    $this->display(‘view目录下的目录名/模版文件名’);

     

    3.变量分配

    3.1变量分配(初级)

    在实际开发的时候不仅仅只是展示模版这么简单,往往还需要展示数据,这个时候变量还在控制器的方法中,需要将数据传递至模版中并且展示,这个过程叫变量分配,在thinkphp中系统封装了一个变量分配的方法,方法为assign,具体语法如下:

    $this->assign(‘模版中的变量名’,$php中的变量名);

    例如:在TestController中的test方法中分配变量

    public function test(){
        $var=date('Y-m-d H:i:s',time());
        $this->assign('var',$var);
        $this->display();
    }

    Test.html如何获取变量值?方法如下:{$模版中的变量名},

    现在北京时间:{$var}

    3.2变量输出(进阶)

    简单变量输出:

    一维数组输出:

    二维数组输出:

    对象输出:

    对象在实例化之后一般会保存到一个变量中,这个变量也可以被分配到模版当中

    3.变量分隔符

    tinkphp中默认的额变量左右分隔符是{},其是可以更改的

    5.模版常量替换机制

    在实际开发的时候会出现引入一些文件往往需要写复杂的路径,那么如何将复杂的路径简化,这个时候我们可以考虑模版常量替换机制

    ThinkPHP中系统默认的几个常用常量:

    __MODULE__//标识从域名后开始一直到分组结束的路由

    __CONTROLLER__//标识从域名后开始一直到控制器结束的路由

    __ACTION__//标识从域名后开始一直到方法结束的路由

    __PUBLIC__//标识站点根目录下public目录的路由

    __SELF__//标识从域名后开始一直到最后结束的路由(如果没有参数则与3内容相同)

    thinkphp中模版常量是通过模版内容替换机制来实现的,并非是常量的定义,替换机制可以查看行为文件/thinkphp/libraty/behavior/contentreplacebehavior.class.php,其模版实现的核心就是字符串替换

    6.模版内容获取方法

    1.tinkphp中和display方法相似的方法叫fetch

      $this->display();展示模版    $this-fetch();获取模版--有返回值

    2.视图注释:

      普通注释在html源代码中会被输出:<!--这是注释-->

      Thinkphp中的模块注释:

      行注释:{// 这是行注释}

      快注释:{/*这是块注释*/

    7.系统变量

    $Think.Server//获取服务器的相关信息

    $Think.get//等价$_GET,获取get请求信息

    $Think.post//等价$_POST,获取post请求信息

    $Think.request//等价$_REQUEST,获取request请求信息

    $Think.cookie//等价$_COOKIE,获取cookie请求信息

    $Thin.config//等价$_CONFIG,获取ThinkPHP中所有配置文件的综合,若指定了元素则获取指定的配置,

    语法格式:{$Think.get.id}

    8.视图中使用函数

    实际开发中有些模版不能直接使用,如在视图中展示时间戳需要通过遍历来处理格式,此时使用函数方式就相对容易。

    8.1语法:{$变量|函数名1|函数名2=参数1,参数2}

    8.2参数说明:|为变量修饰符

              $模版变量

              函数名1:标识需要使用的第一个函数,参数1,参数2标识函数2的参数

    8.3案例1

    注意:当需要使用的函数只有一个参数并且参数是变量自身的时候###可省略

          当需要使用的函数有多个参数,但是其第一个参数是变量自身的时候也可省略

          关于函数名说明:函数名对应的函数必须是php内置函数或者是在函数库定义好的

    案例2:定义一个字符串,截取其中前五个并转成大写{$str|substr=###,0,5|strtoupper}

     

    9.默认值

    语法:{$变量名|default=默认值}  

    10.运算符

    +  -  *  /  %  ++  --

    11.文件引入

    将网站公共部分,如头部,底部单独存放在一个文件中,在后期使用的时候直接引入该部分,维护时只需维护一份代码即可

    Thinkphp模版标签:<include file=’/admin/style.css’>

    12.循环遍历

    thinkphp中系统提供了2个标签来实现数组在模版中的遍历

    Volist   foreach

    13.if标签

    <if conditon=’条件表达式’>

    输出结果1

    <else if condition=’条件表达式2’/>

    输出结果2

    <else/>

    最后输出

    案例:

    public function test12(){
        $day=date('N',time());
        $this->assign('day',$day);
        $this->display();
    }

    <body>
    <if condition='$day==1'>
        星期1
        <elseif condition='$day==2'/>
        星期2
        <elseif condition='$day==3'/>
        星期3
        <elseif condition='$day==4'/>
        星期4
        <elseif condition='$day==5'/>
        星期5
        <elseif condition='$day==6'/>
        星期6
        <else/>
        星期7
    </if>
    </body>

     

    14.PHP标签

    在模版中使用php的语法格式,模版中php标签Tinkphp支持两种形式

    14.1.Php内置的php标签:<? php代码段?>

    14.2.Thinkphp中:<php>代码段</php>

    一般在视图中不写php标签,同时也不建议禁用php标签

  • 相关阅读:
    bzoj1015星球大战(并查集+离线)
    bzoj1085骑士精神(搜索)
    bzoj1051受欢迎的牛(Tarjan)
    左偏树学习
    hdu1512 Monkey King(并查集,左偏堆)
    左偏树(模板)
    PAT (Basic Level) Practice (中文) 1079 延迟的回文数 (20分) (大数加法)
    PAT (Basic Level) Practice (中文) 1078 字符串压缩与解压 (20分) (字符转数字——栈存放)
    PAT (Basic Level) Practice (中文) 1077 互评成绩计算 (20分) (四舍五入保留整数)
    PAT (Basic Level) Practice (中文) 1076 Wifi密码 (15分)
  • 原文地址:https://www.cnblogs.com/niguang/p/7400444.html
Copyright © 2011-2022 走看看