欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Thinkphp中的assign() 和 display()

程序员文章站 2022-03-21 22:17:22
...

说到 $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');