thinkphp系统支持原生的php模板,而且本身内置了一个基于xml的高效的编译型模板引擎,系统默认使用的模板引擎是内置模板引擎,关于这个模板引擎的标签详细使用可以参考模版引擎部分。
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');
}
}
用 php + mysql 驱动的在线商城系统,我们的目标为中国的中小企业及个人提供最简洁,最安全,最高效的在线商城解决方案,使用了自建的会员积分折扣功能,不同的会员组有不同的折扣,让您的商店吸引更多的后续客户。 系统自动加分处理功能,自动处理会员等级,免去人工处理的工作量,让您的商店运作起来更方便省事 采用了自建的直接模板技术,免去了模板解析时间,提高了代码利用效率 独立开发的购物车系统,使用最
立即学习“PHP免费学习笔记(深入)”;
HTML
/*index/view/example.html*/ {$nameA} {volist name="allName" id="vo"}{$vo}
{/volist} Result
JerryJerry
Tom
立即学习“PHP免费学习笔记(深入)”;
这样 ThinkPHP 便完成了对页面的解析工作,其中涉及到 模板实例化、定位、赋值、渲染及标签的使用。
视图实例化
暂无
模板赋值
显然在在模板中直接使用 $name 是找不到该变量的。必须使用 assign 方法对模板赋值。在执行渲染输出函数前, assign 方法使 函数内部变量与模板变量建立起映射关系。
$this->assign('name',$name);
$this->assign('allName',$allName);
立即学习“PHP免费学习笔记(深入)”;
通过赋值之后,便可以在模板文件中使用 {$nameA} 来输出该变量了。
模板渲染
当数据已经准备好渲染到页面上,还需要指定 html 文件作为渲染模板,为当前函数执行 fetch 方法时候传入 example 参数。
return $this->fetch('example');
立即学习“PHP免费学习笔记(深入)”;
模板标签
在模板文件中使用内置标签可以帮助我们在模板中循环、判断变量。它以一对花括号 {tag} {/tag} 作为开标签和闭标签。 { 与 } 之间必须紧跟标签属性或值,存在 空格 和 换行 都不能在渲染时被解析。
volist 标签就是内置标签中的其中一个,通常用来循环某个数组变量。
{volist name="allName" id="vo"}
{$vo}
{/volist}
立即学习“PHP免费学习笔记(深入)”;
allName 是通过模板赋值的变量 ,现在可以在模板上直接使用了,显然它是一个数组, volist 标签对它做了循环操作。
volist 标签常用的一些属性:
| prop | name | id |
|---|---|---|
| key | 数组名 | 当前元素 |
| value | allName | vo |
隐藏在 volist 中的有几个内部变量 {$key} {$i} ,分别代表了 数组下标 和 循环次数 。
内置标签
与 volist 一样好用的内置标签还有很多:
//判断数据是否不为空 不为空则执行
立即学习“PHP免费学习笔记(深入)”;
相关推荐:
立即学习“PHP免费学习笔记(深入)”;










