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

二、给模板赋值

  给模板赋值在这里用到了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的视图和模板的更多相关文章

  1. ThinkPHP框架视图详细介绍 View 视图--模板(九)

    原文:ThinkPHP框架视图详细介绍 View 视图--模板(九) 视图也是ThinkPHP使用的核心部分: 一.模板的使用 a.规则 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/]和 ...

  2. 【三十五】thinkphp之视图

    1.模板定义 视图属于mvc中的v.一般是html结合php获取的数据提供给用户使用. 每个模板的文件都是独立的(文件名与控制器名称必须一样) 默认的模板文件规则是视图目录/[模板主题]控制器/操作名 ...

  3. thinkphp二维数组模板输出方法

    thinkphp二维数组模板输出方法 先写个记录,有空再整理发上来

  4. JavaScript 应用开发 #2:视图与模板

    在用 Backbone 开发的 JavaScript 应用里面,除了模型与集合以外,另一个重要的部分就是视图,英文是 View .在视图里面,我们可以去监听在页面上发生的事件,还有与视图相关的模型和集 ...

  5. ThinkPHP 3.1.2 模板中的基本语法<1>

    # # ThinkPHP 3.1.2 模板中的基本语法 一.传统的方式,导入CSS和JS文件 1.css link js scr <link rel='stylesheet' type='tex ...

  6. Thinkphp入门三—框架模板、变量(47)

    原文:Thinkphp入门三-框架模板.变量(47) [在控制器调用模板] display()   调用当前操作名称的模板 display(‘名字’)  调用指定名字的模板文件 控制器调用模板四种方式 ...

  7. Part 3:视图和模板--Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  8. 五、Django之视图和模板-Part 3

    一.概述 一个视图就是一个页面,通常提供特定的功能,使用特定的模版.列如:在一个博客应用中,你可能会看到下列视图: 博客主页:显示最新发布的一些内容 每篇博客的详细页面:博客的永久链接 基于年的博客页 ...

  9. thinkphp 使每一个模板页都包括一个header文件和一个footer文件

    在开发的过程中,常常遇到要使每一个模板页都包括一个header文件和一个footer文件.thinkPHP的模板布局为我们提供了一个叫全局配置方式可以解决问题. 1. 在配置文件里开启LAYOUT_O ...

随机推荐

  1. 「动态规划」-数位dp专题

    数位dp,今天学长讲的稍玄学,课下花了一会时间仔细看了一下,发现板子是挺好理解的,就在这里写一些: 数位dp主要就是搞一些在区间中,区间内的数满足题目中的条件的数的个数的一类题,题目一般都好理解,这时 ...

  2. php自定义截取中文字符串-utf8版

    php自定义截取中文字符串-utf8版 UTF-8的编码范围(utf-8使用1-6个字节编码字符,实际上只使用了1-4字节): 1个字节:00——7F 2个字节:C080——DFBF 3个字符:E08 ...

  3. 两张图弄懂函数的递归(以golang为例)

    函数递归时要遵守的原则: 执行一个函数时,就要创建一个新的受保护的独立空间(新函数栈) 函数的局部变量是独立的,不会相互影响: 递归必须向退出递归的条件逼近,否则就会无限递归: 当一个函数执行完毕,或 ...

  4. 实现两个数字的交换(C语言)

    int num1=10; int num2=20; //1.简单的数学方法实现数字交换 num1=num1+num2;//num1=30 num2=num1-num2;//num2=10 num1=n ...

  5. spark thriftserver

    spark可以作为一个分布式的查询引擎,用户通过JDBC的形式无需写任何代码,写写sql就可以实现查询啦,spark thriftserver的实现也是相当于hiveserver2的方式,并且在测试时 ...

  6. 从静态代理,jdk动态代理到cglib动态代理-一文搞懂代理模式

    从代理模式到动态代理 代理模式是一种理论上非常简单,但是各种地方的实现往往却非常复杂.本文将从代理模式的基本概念出发,探讨代理模式在java领域的应用与实现.读完本文你将get到以下几点: 为什么需要 ...

  7. 如何评价 Vue 的 Function-based Component?

    作者:匿名用户链接:https://www.zhihu.com/question/325397290/answer/708418099来源:知乎 事实性错误: 那 vue 呢?它连 HOC 都没有,r ...

  8. KDevelop

    ctags+vim还是太累了,还是使用IDE好,尤其是c++模板.KDevelop就不错,符号智能推导以及cmake项目管理和配置,还是挺好用的. Android端的ndk开发使用Android St ...

  9. PHP安全之道学习笔记1:PHP项目安全设置

    在全球范围来看,超过了80%的网站是使用php进行搭建的,由于脚本语言和早期版本设计的诸多原因,php项目存在不少安全隐患.从配置选项来看,可以做如下的优化. 1.屏蔽PHP错误输出. 在/etc/p ...

  10. python读取 ini 配置文件

    在详解python读取ini文件之前,我们先说明一个ini文件的组成: 一个ini文件是由多个section组成,每个section中以key=vlaue形式存储数据: 然后我们来使用python读取 ...