本次讲解主要以《ThinkPHP开发手册》中“模板”一章中讲解为主

在MainController.class.php中新建一个操作方法Test()

namespace Home\Controller;
use Think\Controller; class MainController extends Controller
{ function Test()
{
$attr=array("one"=>100,"two"=>200,"three"=>300); $this->assign("pd",true);
$this->assign("a",10);
$this->assign("b",15);
$this->assign("shuzu",$attr);
$this->assign("test","hello");
$this->display();
} }

  

并新建一个相对应的模板文件Test.html

<!--变量输出-->
<div><{$test}></div>
<div><{$shuzu[one]}>、<{$shuzu.two}></div>
<div>__ACTION__</div> <!--系统变量-->
<!--常量输出-->
<div><{$Think.const.ACTION_NAME}></div>
<div><{$Think.MODULE_NAME}></div>
<!--配置输出-->
<div><{$Think.config.URL_MODEL}></div> <!--默认值输出-->
<div><{$ceshi|default="默认"}></div> <!--使用运算符-->
<div><{$a*$b}></div> <!--三元运算符-->
<div><{$pd?"男":"女"}></div> <!--模板继承-->
<div><include file="Main/zi"/></div> <!--if标签,注意条件的写法(双引号里面),注意else后面要有斜杠-->
<if condition="$a==11">
<div>if判断正确,10</div>
<else/>
<div>if判断错误,20</div>
</if> <!--foreach遍历数组用法,name的值为变量名(数组名),item的值为循环数组的每一项的值-->
<foreach name="shuzu" item="v">
<div><{$v}></div>
</foreach>

  

在模板继承中“子模板zi.html中使用了extend标签定义需要继承的模板”

<extend name="fu" />
<block name="content">
<div style="width:100%; height:300px; background-color:#0FF"></div>
</block>

  父模板fu.html中,需要用block进行标志

<body>
<block name="top">
<div>这是头部信息</div>
</block>
<block name="content">
<div>这是内容</div>
</block>
<block name="foot">
<div>这是页脚</div>
</block>
</body>
</html>

  而且要在maincontroller.class.php中新建一个操作方法zi()

<?php
namespace Home\Controller;
use Think\Controller; class MainController extends Controller
{
function zi()
{
$this->display();
}
}

  

ThinkPHP讲解(四)——视图的更多相关文章

  1. ThinkPHP的四种URL模式 URL_MODEL

    ThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义,包括普通模式.PATHINFO.REWRITE和兼容模式. 普通模式 设置URL_MODEL 为0 采用传统的URL参数模 ...

  2. ThinkPHP中的视图二

    ThinkPHP中的视图 1.模板注释 在实际项目开发中,经常要使用注释功能,如果是ThinkPHP框架,则可以在模板文件中使用如下方式进行注释: {// 注释内容 } :单行注释 {/* 注释内容 ...

  3. ThinkPHP中的视图

    ThinkPHP中的视图View 1.什么是视图View 所谓的视图就是用户可视化操作界面. 2.视图View组成 view类(模板引擎类似Smarty) 模板文件(html模板) 3.视图的定义 默 ...

  4. Thinkphp入门 四 —布局、缓存、系统变量 (48)

    原文:Thinkphp入门 四 -布局.缓存.系统变量 (48) [控制器操作方法参数设置] http://网址/index.php/控制器/操作方法 [页面跳转] [变量调节器] Smarty变量调 ...

  5. Blender 软件 四视图布局的创建方法

    Blender 软件 四视图布局的创建方法 我使用的Blender版本:Blender V 2.77 Q: 为什么要创建一个:四视图布局场景? A: 原因1:四视图布局最适合模型建模.原因2:在 Bl ...

  6. ThinkPHP讲解(一)框架基础

    ThinkPHP框架知识点过于杂乱,接下来将以问题的形势讲解tp(ThinkPHP的简写) 1.tp框架是什么,为什么使用是它? 一堆代码的集合,里边有变量.函数.类.常量,里边也有许多设计模式MVC ...

  7. ThinkPHP讲解(二)控制器

    在这一节,具体讲解控制器,以Jiaowu应用目录为例. 1.如何写控制器,如何写操作方法? 在模块控制器目录Controller下新建一个控制器文件MainController.class.php,写 ...

  8. 玩转Django2.0---Django笔记建站基础四(视图)

    第四章 视图 4.1 探究视图 一.视图说明 视图(View)是Django的MTV架构模式的V部分,主要负责处理用户请求和生成相应的相应部分,然后在页面或其它类型文档中显示.也可以理解为视图是MVC ...

  9. AngularJS 讲解,四 Directive

    AngularJS  Directive 自定义指令(我最喜欢AngularJs的功能之一) 一:什么时候我们会用到directive 1.使html更具语义化,不用深入了解研究代码的逻辑便可知道大致 ...

随机推荐

  1. Delphi HOOK示例

    本应用程序的Hook: unit UFrmMain; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, ...

  2. IE中的fireEvent和webkit中的dispatchEvent

    拿浏览器的click事件来说: 在IE浏览器中如果一个element没有注册click事件,那么直接调用的话会出现异常!当然如果你注册了没有什么可说的. 那么如果使用fireEvent来处理,clic ...

  3. node中定时器的“先进”用法

    var DSQ = setInterval(function(){ console.log('zzq'); },1000); setTimeout(function(){ clearInterval( ...

  4. [LeetCode]题解(python):103 Binary Tree Zigzag Level Order Traversal

    题目来源 https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/ Given a binary tree, re ...

  5. svn利用TortoiseSVN忽略文件或文件夹

    忽略已经版本控制的文件 如果你不小心添加了一些应该被忽略的文件,你如何将它们从版本控制中去除而不会丢失它们?或许你有 自己的IDE配置文件,不是项目的一部分,但将会花费很多时间使之按照自己的方式工作. ...

  6. 关于action script与js相互调用的Security Error问题

    大家都知道,as和js相互调用可以通过ExternalInterface.call和ExternalInterface.addCallback来进行. 比较好的做法是使用之前通过ExternalInt ...

  7. AspectJ本质剖析

    AOP一共有两种方式,spring默认使用的是动态代理(JDK自带的动态代理或者使用cglib的动态代理)和静态代理(ASPECTJ) http://blog.csdn.net/zhao9tian/a ...

  8. oracle 中的存储过程

      oracle 中的存储过程 --oracle 中的存储过程, --不带任何参数的 CREATE OR REPLACE PROCEDURE PRO_TEST AS -- AS 和is 没有任何区别 ...

  9. SQL判断字符串里不包含字母

    Oracle: 方法一:通过To_Number 函数异常来判断,因为这个函数在转换不成功的时候是报错,所以只能用存储过程包装起来. CREATE OR REPLACE FUNCTION Is_Numb ...

  10. Kafka+Storm+HDFS整合实践

    在基于Hadoop平台的很多应用场景中,我们需要对数据进行离线和实时分析,离线分析可以很容易地借助于Hive来实现统计分析,但是对于实时的需求Hive就不合适了.实时应用场景可以使用Storm,它是一 ...