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');
------------------------------------------------------------------------------------
原文:https://blog.csdn.net/class__fun/article/details/78171299