zoukankan      html  css  js  c++  java
  • thinkphp3.2笔记(3)视图渲染 模板的赋值与显示 系统变量

    一  视图

    1  视图渲染

     渲染模板输出最常用的是使用display方法,调用格式:
    display('[模板文件]'[,'字符编码'][,'输出类型'])模板文件的写法支持下面几种:
    用法 描述
    不带任何参数 自动定位当前操作的模板文件
    [模块@][控制器:][操作] 常用写法,支持跨模块 模板主题可以和theme方法配合
    完整的模板文件名 直接使用完整的模板文件名(包括模板后缀)、


    下面是一个最典型的用法,不带任何参数:
      // 1. 不带任何参数 自动定位当前操作的模板文件
         $this->display();


       //2 .带参数
        $this->display('goods2');


      //3.  指定其他控制器下的模板  控制器:操作
         $this->display('Index:add');


      //4.  指定其他模块的模板  [模块@][控制器:][操作]
            $this->display('Admin@index:add');


      //5 .  完整模板名称     要注意模板文件位置是相对于项目的入口文件,而不是模板目录。
        $this->display('./add.html');

    2   display和fetch 方法的区别

    display:  获取具体的模板内容并且自动输出

    fetch: 获取模板内容,但是不会自动输出

    如果要用到fetch输出模板,先用fetch,后用show

      $this->show($this->fetch('goods'));

    3    模板替换

      1)创建方法渲染模板

     

        <link rel="stylesheet" type="text/css" href="/Public/css.css"/>
    public 前面的/理解为根目录

     

    2. 替换规则

    在进行模板渲染之前,系统还会对读取的模板内容进行一些特殊字符串替换操作,也就是实现了模板输出
    的替换和过滤。该替换操作仅针对内置的模版引擎。
    这个机制可以使得模板文件的定义更加方便,默认的替换规则有:


    __ROOT__: 会替换成当前网站的地址(不含域名)
    __APP__: 会替换成当前应用的URL地址 (不含域名)
    __MODULE__:会替换成当前模块的URL地址 (不含域名)
    __CONTROLLER__(__或者__URL__ 兼容考虑): 会替换成当前控制器的URL地址(不含域名)
    __ACTION__:会替换成当前操作的URL地址 (不含域名)
    __SELF__: 会替换成当前的页面URL
    __PUBLIC__:会被替换成当前网站的公共目录 通常是 /Public

     注意这些特殊的字符串是严格区别大小写的,并且这些特殊字符串的替换规则是可以更改或者增加的,我
    们只需要在应用或者模块的配置文件中配置TMPL_PARSE_STRING就可以完成。如果有相同的数组索引,
    就会更改系统的默认规则。例如:
    'TMPL_PARSE_STRING' =>array(
    '__PUBLIC__' => '/Common', // 更改默认的/Public 替换规则
    '__JS__' => '/Public/JS/', // 增加新的JS类库路径替换规则
    '__UPLOAD__' => '/Uploads', // 增加新的上传路径替换规则
    )

    二 模板的赋值与显示

    1 方法

     2 模板

     3 配置

     

    三 系统变量

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


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

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

    常量输出
    还可以输出常量


    {$Think.const.MODULE_NAME}
    或者直接使用
    {$Think.MODULE_NAME}

    {$Think.PHP_VERSION}  显示php版本

    PHP 全局变量 - 超全局变量

    这些超全局变量是:

    • $GLOBALS
    • $_SERVER
    • $_REQUEST
    • $_POST
    • $_GET
    • $_FILES
    • $_ENV
    • $_COOKIE
    • $_SESSION

    $GLOBALS — 引用全局作用域中可用的全部变量

    $GLOBALS 这种全局变量用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。

    PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。


    配置输出


    输出配置参数使用:
    {$Think.config.db_charset}
    {$Think.config.url_model}


    语言变量
    输出语言变量可以使用:
    {$Think.lang.page_error}
    {$Think.lang.var_error}

  • 相关阅读:
    React 获取服务器API接口数据:axios、fetchJsonp
    nvm管理node版本
    windows自定义命令的创建
    目标平台、活动平台 配置,出现未能加载文件或程序集“xxx”或它的某一个依赖项报错
    Quartz.net使用总结
    vs 2010 中类文文件模板的修改
    js获取url参数的两种方法
    遍历文件夹
    简单多条件动态查询的实现
    ajax请求跨域问题
  • 原文地址:https://www.cnblogs.com/keta/p/9512609.html
Copyright © 2011-2022 走看看