• 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标签

  • 相关阅读:
    ERP/MIS开发 30道ORM问题与解答 LLBL Gen 3.x Adapter
    升级LLBL Gen 2.x项目到3.x
    软件公司为什么要加密源代码,而且是前前后后,反反复复
    ERP/MIS系统中集成命令行式的功能调用
    工作多年后才明白的.NET底层开发技术
    OSGI:从面向接口编程来理解OSGI
    幸福框架:如何阅读幸福框架的代码
    OSGI:C#如何实现简单的OSGI
    技术人生:技术之路,需要的是热情和梦想
    EHR:对人力资源信息系统的认识
  • 原文地址:https://www.cnblogs.com/niguang/p/7400444.html
Copyright © 2020-2023  润新知