ThinkPHP的视图和模板
简单来说一个控制器对应一个视图,一个方法对应一个模板下面我们直接上图。

二、给模板赋值
给模板赋值在这里用到了assign()这个函数,assign()函数第一个参数为给这个值自定义名称,第二个参数则是值
栗子:
public function testview(){
$date=Db::name("goods")->select();//数据库查询商品表 返回一个数据集
$this->assign('date',$date); //把数据集给到date
return $this->fetch();
}
那么这样相应的模板就拿到了date这个数据集了,下面就是这么在模板中使用这个数据集,直接上代码:
<table>
<tr>
<th>商品ID</th>
<th>商品名称</th>
<th>商品价格</th>
<th>操作</th>
</tr>
{foreach $date as $value}
<tr>
<th>{$value.id}</th>
<th>{$value.goods_name}</th>
<th>{$value.price}</th>
<th><a href="#">删除</th>
</tr>
{/foreach}
</table>
三、在模板中该怎么注释
普通的HTML注释是无法注释{foreach}中的内容的,因为ThinkPHP会找到"{}"进行处理大括号中的内容,所以在这里我们用特殊的办法来注释,用 {/*注释的内容*/}这样的方法来注释下面举个栗子
<table>
<tr>
<th>商品ID</th>
<th>商品名称</th>
<th>商品价格</th>
<th>操作</th>
</tr>
<!--多行注释 用{/*注释的内容*/}-->
{/*
{foreach $date as $value}
<tr>
<!--单行注释 用{//注释的内容}-->
{//<th>{$value.id}</th>}
<th>{$value.goods_name}</th>
<th>{$value.price}</th>
<th><a href="#">删除</th>
</tr>
{/foreach}
*/}
</table>
四、在模板中使用函数
模板中也是可以使用strtoupper、md5等函数的,下面演示具体该怎么使用。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>test</title>
</head>
<body>
<!--
模版中的使用函数 例如后台传入一个jack,使用strtoupper()函数转成大写字母
-->
{$name | strtoupper}
<br>
<!--调用md5函数给name加密-->
{$name | md5}<br>
<!--多个使用函数 加密后字母大写-->
{$name | md5 | strtoupper}<br>
<!--使用指定class中的方法 如调用VERSION获取ThinkPHP的版本号-->
{:think\\APP::VERSION}
</body>
</html>
ThinkPHP的视图和模板的更多相关文章
- ThinkPHP框架视图详细介绍 View 视图--模板(九)
原文:ThinkPHP框架视图详细介绍 View 视图--模板(九) 视图也是ThinkPHP使用的核心部分: 一.模板的使用 a.规则 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和 ...
- 【三十五】thinkphp之视图
1.模板定义 视图属于mvc中的v.一般是html结合php获取的数据提供给用户使用. 每个模板的文件都是独立的(文件名与控制器名称必须一样) 默认的模板文件规则是视图目录/[模板主题]控制器/操作名 ...
- thinkphp二维数组模板输出方法
thinkphp二维数组模板输出方法 先写个记录,有空再整理发上来
- JavaScript 应用开发 #2:视图与模板
在用 Backbone 开发的 JavaScript 应用里面,除了模型与集合以外,另一个重要的部分就是视图,英文是 View .在视图里面,我们可以去监听在页面上发生的事件,还有与视图相关的模型和集 ...
- ThinkPHP 3.1.2 模板中的基本语法<1>
# # ThinkPHP 3.1.2 模板中的基本语法 一.传统的方式,导入CSS和JS文件 1.css link js scr <link rel='stylesheet' type='tex ...
- Thinkphp入门三—框架模板、变量(47)
原文:Thinkphp入门三-框架模板.变量(47) [在控制器调用模板] display() 调用当前操作名称的模板 display(‘名字’) 调用指定名字的模板文件 控制器调用模板四种方式 ...
- Part 3:视图和模板--Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...
- 五、Django之视图和模板-Part 3
一.概述 一个视图就是一个页面,通常提供特定的功能,使用特定的模版.列如:在一个博客应用中,你可能会看到下列视图: 博客主页:显示最新发布的一些内容 每篇博客的详细页面:博客的永久链接 基于年的博客页 ...
- thinkphp 使每一个模板页都包括一个header文件和一个footer文件
在开发的过程中,常常遇到要使每一个模板页都包括一个header文件和一个footer文件.thinkPHP的模板布局为我们提供了一个叫全局配置方式可以解决问题. 1. 在配置文件里开启LAYOUT_O ...
随机推荐
- 第一行python代码
Hello Python 其实和大家一样为了以后多一条生存之路,本人也比较感兴趣python,因为它相比较JAVA来说,实现功能真的太方便了. 万事开头难,python不例外,本人在校过程学习了jav ...
- Project Euler 55: Lychrel numbers
五十五.吕克雷尔数(Lychrel numbers) 如果我们把\(47\)翻转过来并和其自身相加,结果是\(47+74=121\)是一个回文数.并不是所有的数都可以这么快的变成回文数,比如说: \[ ...
- 802.11ac速率集
- win7/win10系列的office安装与激活
Windows系列电脑安装office傻瓜式教程 一. 下载与安装 下载 (1).所需工具:迅雷 下载链接:http://xl9.xunlei.com/ 显示界面如下,点击“立即下载”即可,然后 ...
- 一个简单的C#爬虫程序
这篇这篇文章主要是展示了一个C#语言如何抓取网站中的图片.实现原理就是基于http请求.C#给我们提供了HttpWebRequest和WebClient两个对象,方便发送请求获取数据,下面看如何实 1 ...
- Mybatis精讲(二)---生命周期
目录 回顾 SqlSessionFactoryBuilder SqlSessionFactory openSessionFromDataSource Executor SqlSession Mappe ...
- nyoj 17-单调递增最长子序列 && poj 2533(动态规划,演算法)
17-单调递增最长子序列 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:21 submit:49 题目描述: 求一个字符串的最长递增子序列的长度 如 ...
- 从0开始学前端(笔记备份)----HTML部分 Day1 HTML标签
- firefox浏览器window.event is undefined问题
获取鼠标坐标,IE下window.event.clientX和window.event.clientY就可以获取x,y的座标了.但是firefox却不行,浏览器报错window.event is un ...
- ViewPage+Fragment的使用用法
一.概述 从前面几篇文章,我们知道,实现ViewPager是要有适配器的,我们前面用的适配器是PagerAdapter,而对于fragment,它所使用的适配器是:FragmentPagerAdapt ...