找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1092|回复: 0
打印 上一主题 下一主题

ThinkPHP 模板引擎使用详解

[复制链接]

2560

主题

2560

帖子

7622

积分

论坛元老

Rank: 8Rank: 8

积分
7622
跳转到指定楼层
楼主
发表于 2018-2-14 05:26:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

            ThinkPHP 内置的模板引擎来定义模板文件,以及使用加载文件、模板布局和模板继承等高级功能。
每个模板文件在执行过程中都会生成一个编译后的缓存文件,其实就是一个可以运行的 PHP 文件。
引用自 http://www.kancloud.cn/manual/thinkphp5/118122
PHP
/*index/controller/example.php*/

use think\Controller;

class test extends Index {

  public function template (){
    $name = 'Jerry';
    $allName = [
      0 => "Jerry",
      1 => "Tom"
    ];

    $this->assign('nameA',$name);
    $this->assign('allName',$allName);

    return $this->fetch('example');
  }
}

HTML
/*index/view/example.html*/

{$nameA}

{volist name="allName" id="vo"}

  {$vo}

{/volist}


Result
Jerry

Jerry

Tom


这样 ThinkPHP 便完成了对页面的解析工作,其中涉及到 模板实例化、定位、赋值、渲染及标签的使用。
视图实例化
暂无
模板赋值
显然在在模板中直接使用 $name 是找不到该变量的。必须使用 assign 方法对模板赋值。在执行渲染输出函数前, assign 方法使 函数内部变量与模板变量建立起映射关系。
$this->assign('name',$name);
$this->assign('allName',$allName);

通过赋值之后,便可以在模板文件中使用 {$nameA} 来输出该变量了。
模板渲染
当数据已经准备好渲染到页面上,还需要指定 html 文件作为渲染模板,为当前函数执行 fetch 方法时候传入 example 参数。
return $this->fetch('example');
模板标签
在模板文件中使用内置标签可以帮助我们在模板中循环、判断变量。它以一对花括号 {tag} {/tag} 作为开标签和闭标签。 { 与 } 之间必须紧跟标签属性或值,存在 空格 和 换行 都不能在渲染时被解析。
volist 标签就是内置标签中的其中一个,通常用来循环某个数组变量。
{volist name="allName" id="vo"}

  {$vo}

{/volist}
allName 是通过模板赋值的变量 ,现在可以在模板上直接使用了,显然它是一个数组, volist 标签对它做了循环操作。
volist 标签常用的一些属性:

      prop
      name
      id
   
  
  
   
      key
      数组名
      当前元素
   
   
      value
      allName
      vo
   
隐藏在 volist 中的有几个内部变量 {$key} {$i} ,分别代表了 数组下标 和 循环次数 。
内置标签
与 volist 一样好用的内置标签还有很多:
//判断数据是否不为空 不为空则执行
            
            
您可能感兴趣的文章:
  • ThinkPHP模板引擎之导入资源文件方法详解
  • ThinkPHP使用smarty模板引擎的方法
  • ThinkPHP在Cli模式下使用模板引擎的方法
  • thinkPHP模板引擎用法示例
  • 让ThinkPHP的模板引擎达到最佳效率的方法详解
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端