Thinkphp中的assign() 和 display()

说到 $this->assign()  与 $this->display()想必用过TP框架的都不陌生,那么今天我们就来说说他们的作用及其他用法。

 

先说 $this->assign()吧。

它的作用很简单 ,就是打印出数组。

举个例子:

<?php

$apple = "苹果";
$this->assign('apple',$apple);

?>

 assign中的第一个参数是在模板取值的时候所使用的变量名, 第二个参数是要传递的值。
<html>
<head>
<title>取值</title>
</head>
<body>

{$apple}

</body>
</html>

这样就可以把值传递到模板中。


下面说说 $this->display()

它的作用是把打出来的数据放到对应的模板上。这里面正常来说不需要赋值,因为它会根据命名规则自动寻找对应的模板文件。但总有一些其他情况,那么我们就来说一下其他情况。

 

一、调用当前模块的其他模板

格式:$this->display('模板名字');

例如:假设当前操作的是Table模块下的 apple , 我们需要调用Table模块下的 orange。

          这样写 $this->display('orange')即可。

 

二、调用其它模块的操作

格式:$this->display('模块名:模板名')

例如:假设当前操作的是Table模块。我们需要调用 Food模块的 pizza。

           这样写 $this->display('Food:pizza')即可。

 

三、全路径输出模板

格式:$this->display('路径文件名');

例如:我们输出当前的public目录下的 add.html

           这样写  $this->display('./public/add.html');即可。

 

四、其他参数方法

我们想指定模板输出的编码,而不是默认编码。

可以使用 $this->display('Table:apple','gbk');

 

或者模板不是HTML格式的 ,而是XML格式的

可以 $this->display('Table:apple','utf-8','text/xml');

posted @ 2019-06-06 11:55  你的老张  阅读(2727)  评论(0编辑  收藏  举报