前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ThinkPHP5学习002-向模板中传递变量

ThinkPHP5学习002-向模板中传递变量

作者头像
哆哆Excel
发布2022-10-25 14:23:48
1.2K0
发布2022-10-25 14:23:48
举报
文章被收录于专栏:哆哆Excel

注:近来找到一个大神的博客,向大神学习中

ThinkPHP5学习002-向模板中传递变量

知识点

控制器可以向模板传递数据,并显示在模板中

$this->assign() 表示:给模板赋值,需要传递两个参数,

第一个参数:变量名

第二个参数:值(可以是数字,字符串,数组,对象)

【实践】

1. 改写模板文件index.html

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Title</title>

</head>

<body>

<h2>自我介绍</h2>

<div>学号:{$no}</div>

<div>姓名:{$name}</div>

</body>

</html>

在模板中输出变量的值,使用{},其中no,name就是控制器传递给模板的两个变量名

2. 在controller中的index.php向模板中传递变量

public function index()

{

//调用模板,模板文件名和方法名同名,即 index.html

$this->assign('no','1001');

$this->assign('name','张三');

return $this->fetch();

}

向模板传递了两个变量no,name,分别为1001、张三,

3. 测试一下

http://localhost:81/tp5/public/index.php/index/

成功

4.再修改一下控制器中的index.php,其中的show方法

先定义一个数组,再传递一个变量stu,向它传入一个数组

5.再修改一下模板文件:application\index\view\index中的show.html

准备了一个变量“stu”,以数组中的row,进循环

在模板中,输出二维数组的值,可以使用volist标签,这个标签是tp5模板自带的标签,主要用于循环输出二维数组中的值

其中,name属性的值是控制器传过来的变量,id 属性指定的变量自己随意定义

【知识点扩展】

thinkphp中的volist标签

属性:

name(必须):要输出的数据模板变量

id(必须):循环变量

offset(可选):要输出数据的offset

length(可选):输出数据的长度

key(可选):循环的key变量,默认值为i

mod(可选):对key值取模,默认为2

empty(可选):如果数据为空显示的字符串

◆Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但需要确保不要和name属性冲突,

例如:在控制器中首先对模版赋值,如下例所示:

$User = M('User');

$list = $User->limit(10)->select();

$this->assign('list',$list);

在模版定义如下,循环输出用户的编号和姓名:

<volist name="list" id="vo">

{$vo.id}:{$vo.name}<br/>

</volist>

6.测试一下

http://localhost:81/tp5/public/index.php/index/index/show

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 哆哆Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档