插件窝 干货文章 thinkphp中assign()方法怎么用

thinkphp中assign()方法怎么用

模板 display 模块 gt 560    来源:    2024-10-27
在thinkphp中,assign()方法用于打印数组,该方法的第一个参数是在模板取值时所使用的变量名,第二个参数是要传递的值,语法为“$this->assign('name',$value);”。

本文操作环境:Windows10系统、ThinkPHP5版、Dell G3电脑。

thinkphp中assign()方法怎么用

先说 $this->assign()吧。

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

举个例子:

立即学习“PHP免费学习笔记(深入)”;

<?php
 
$apple = "苹果";
$this->assign(&#39;apple&#39;,$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(&#39;Table:apple&#39;,&#39;gbk&#39;);

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

 $this->display(&#39;Table:apple&#39;,&#39;utf-8&#39;,&#39;text/xml&#39;);

推荐学习:《PHP视频教程》