ThinkPHP 模板引擎使用详解

2018-09-07 17:41

阅读:417

  ThinkPHP 内置的模板引擎来定义模板文件,以及使用加载文件、模板布局和模板继承等高级功能。

  每个模板文件在执行过程中都会生成一个编译后的缓存文件,其实就是一个可以运行的 PHP 文件。

  引用自

  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*/ <span>{$nameA}</span> {volist name=allName id=vo} <p data-sub={$key} data-index={$i}>{$vo}</p> {/volist} Result <br /><span>Jerry</span> <p data-sub=0 data-index=1>Jerry</p> <p data-sub=1 data-index=2>Tom</p>

  这样 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} <p data-sub={$key} data-index={$i}>{$vo}</p> {/volist}

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

  volist 标签常用的一些属性:

   prop name id key 数组名 当前元素 value allName vo

  隐藏在 volist 中的有几个内部变量 {$key} {$i} ,分别代表了 数组下标 和 循环次数 。

  内置标签

  与 volist 一样好用的内置标签还有很多:

   <notempty name=></notempty> //判断数据是否不为空 不为空则执行


评论


亲,登录后才可以留言!