ThinkPHP3.2学习笔记2——视图

ThinkPHP3.2学习笔记2——视图

  • ThinkPHP中的视图
    • 什么是视图
    • 视图的创建
    • 模板的展示display()
    • 模板内容获取方法fetch()
    • 视图中的注释
    • 变量分隔符
    • 模板常量的替换机制
    • 变量分配(初阶)
    • 变量分配(进阶)
      • 一维数组
      • 二维数组
      • 对象变量
    • 系统变量
    • 视图中使用函数
    • 默认值
    • 运算符
    • 文件的包含
    • 循环遍历
    • if标签
    • php标签

ThinkPHP中的视图

什么是视图

视图就是MVC三大组成部分中V(View)主要是负责信息的输出和展示。

视图的创建

创建的位置需要是在分组目录下的View目录下与控制器同名的目录中。
例如:Test控制器中的login方法,需要有一个模板,则该模板文件login.html需要放到View/Test/login.html

如果有多个模板文件,则按照上面的要求进行创建。

模板的展示display()

在smarty中展示模板使用的方法是display,在thinkPHP中同样也是display方法。

语法格式:
展示当前控制器下与当前请求方法名称一致的模板文件:$this->display();
ThinkPHP3.2学习笔记2——视图_第1张图片
展示当前控制器下指定的模板文件:$this->display('模板文件名[不带后缀]');
ThinkPHP3.2学习笔记2——视图_第2张图片
展示指定控制器目录下的指定模板文件:$this->display('View目录下的目录名/模板文件名[不带后缀]');
ThinkPHP3.2学习笔记2——视图_第3张图片

模板内容获取方法fetch()

语法格式:$this->fetch();

在thinkPHP中系统封装好了一个友好的打印方法dump(),封住在系统的函数库文件function.php中
语法格式:dump(需要打印的变量)

	//模板常量的展示
	public function test10(){
   
		$str=$this->fetch();
		dump($str);
	}

比较:

  • display方法:替换模板中的常量/变量->获取模板内容->输出模板内容
  • fetch方法:替换模板中的常量/变量->获取模板内容
  • display方法的前两步的操作实际上是通过fetch方法来实现

视图中的注释

视图中的注释特指thinkPHP中视图的注释。

1.普通注释:

2.在thinkPHP中视图注释:

  • 行注释:{//行注释}
  • 块注释:{/*块注释*/}

区别:
普通的HTML注释属于客户端注释,会在浏览器的源代码中输出;
而thinkPHP中的模板注释则属于服务器端的注释,不会被浏览器输出。

<body>
	
    ThinkPHP中的行注释:{//行注释}<br>
    ThinkPHP中的块注释:{/*块注释*/}
body>

显示效果如下:

注意:

  1. 行注释不要当做块注释来写(横跨多行);
  2. 在行注释和块注释当中(大括号里面)不要再出现大括号(模板变量);

变量分隔符

在thinkPHP中默认的左右变量分隔符是 { } ,其是可以被更改的,可以在配置文件中找到具体配置项。

模板常量的替换机制

替换机制:可以查看行为文件ThinkPHP/Library/Behavior/ContentReplace.Behavior.class.php

在thinkPHP中系统默认给我们提供一下几个常用的模板常量:
__MODULE__:表示从域名后面一直到分组名结束的路由;
__CONTROLLER__:表示从域名后面开始一直到控制器结束的路由;
__ACTION__:表示从域名后面开始后一直到方法名结束的路由;
__PUBLIC__:表示站点根目录下public目录的路由
__SELF__:表示从域名后面开始一直到路由结束

为了后期使用的方便,我们可以在配置文件中定义一个自定义的模板常量;

  • 在开发的时候,不到万不得已不要去修改系统配置文件。可以将需要的配置项在分组/应用级别的配置文件去添加。
    Application/Common/Conf/config.php

return array(
	//'配置项'=>'配置值'
	
	//模板常量
	'TMPL_PARSE_STRING'=>array(
			'__ADMIN__'=>__ROOT__.'/Public/Admin'
		),
);

ThinkPHP3.2学习笔记2——视图_第4张图片

变量分配(初阶)

在实际开发时不仅仅只是展示模板这么简单,往往还需要展示数据,这个时候变量还在控制器的方法中,需要将数据传递到模板中并且展示,这个过程叫变量分配。

在thinkPHP中系统封装了一个变量的分配方法,这个方法叫做assign;

  1. 语法格式:$this->assign('模板中变量名',$php中的变量名);
  • 一般情况下,两个参数的变量名一样。
  1. 在模板中展示数据(默认):{$模板中的变量名}
    例子:
	//简单变量分配
	public function test9(){
   
		//定义变量
		$var =date('Y-m-d H:i:s',time());
		//变量分配
		$this->assign('var',$var);
		//展示模板
		$this->display(); 
	}

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

你可能感兴趣的:(ThinkPHP,thinkPHP)