ThinkPHP 模板引擎使用详解

ThinkPHP 模板引擎使用详解,第1张

概述thinkphp系统支持原生的PHP模板,而且本身内置了一个基于XML的高效的编译型模板引擎,系统默认使用的模板引擎是内置模板引擎,关于这个模板引擎的标签详细使用可以参考模版引擎部分。

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

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

引用自 http://www.kancloud.cn/manual/thinkphp5/118122

PHP

use think\Controller;

class test extends Index {

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

$this->assign('<a href="https://m.jb51.cc/tag/name/" target="_blank" >name</a>A',$<a href="https://m.jb51.cc/tag/name/" target="_blank" >name</a>);$this->assign('all<a href="https://m.jb51.cc/tag/name/" target="_blank" >name</a>',$all<a href="https://m.jb51.cc/tag/name/" target="_blank" >name</a>);return $this->fetch('example');

}
}

HTML

{$nameA}

{voList name="allname" ID="vo"}

<p data-sub="{$key}" data-index="{$i}">{$vo}

{/voList}

Result


Jerry

<p data-sub="0" data-index="1">Jerry

<p data-sub="1" data-index="2">Tom

这样 ThinkPHP 便完成了对页面的解析工作,其中涉及到 模板实例化、定位、赋值、渲染及标签的使用。

视图实例化

暂无

模板赋值

显然在在模板中直接使用 $name 是找不到该变量的。必须使用 assign 方法对模板赋值。在执行渲染输出函数前, assign 方法使 函数内部变量与模板变量建立起映射关系。

assign('name',$name);$this->assign('allname',$allname);

通过赋值之后,便可以在模板文件中使用 {$nameA} 来输出该变量了。

模板渲染

当数据已经准备好渲染到页面上,还需要指定 HTML 文件作为渲染模板,为当前函数执行 fetch 方法时候传入 example 参数。

fetch('example');

模板标签

在模板文件中使用内置标签可以帮助我们在模板中循环、判断变量。它以一对花括号 {tag} {/tag} 作为开标签和闭标签。 { 与 } 之间必须紧跟标签属性或值,存在 空格 和 换行 都不能在渲染时被解析。

voList 标签就是内置标签中的其中一个,通常用来循环某个数组变量。

<p data-sub="{$key}" data-index="{$i}">{$vo}

{/voList}

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

voList 标签常用的一些属性:

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

内置标签

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

//判断数据是否不为空 不为空则执行 总结

以上是内存溢出为你收集整理的ThinkPHP 模板引擎使用详解全部内容,希望文章能够帮你解决ThinkPHP 模板引擎使用详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1246939.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)