掌握Thinkphp3.2.0----视图
我们将要学习一下 ThinkPHP 视图,视图是 Web 的可见内容,一般是 HTML
结合 PHP 获取的数据提供给用户使用的部分,属于 MVC 中的 V
一. 模版定义
默认的模版文件定义规则:视图目录/[模版主题/]控制器名/操作名+模版后缀
可以设置相关的配置来更改这些设置:红框标出的位置为修改的位置
//修改模版的视图目录
'DEFAULT_V_LAYER' =>'Template',

//修改模版中的文件的后缀
'TMPL_TEMPLATE_SUFFIX'=>'.tpl'

//用下划线代替目录层次,不用创建目录,而是用_链接的目录文件名称
'TMPL_FILE_DEPR'=>'_',
//设置外部的模版目录
'VIEW_PATH'=>'./Public/',
默认:
修改后:
//设置默认主题目录
'DEFAULT_THEME'=>'default',

//切换主题
$this->theme('blue')->display();
二、赋值和渲染
赋值:
//给模版传递一个变量
$this->assign('user', '蜡笔小新');
//模版中调用变量
{$user}
渲染:
渲染模版输出使用的是 display 方法,有三个可选参数:
display([模版文件][,字符编码][,输出类型]);
//不传参数
$this->display();
./Weibo/Home/View/default/User/index.tpl
//修改默认模版
$this->display('add');
./Weibo/Home/View/default/User/add.tpl
//修改默认模版,目录加模版
$this->display('Bbb/add');
./Weibo/Home/View/default/ Bbb /add.tpl
//修改默认模版,模块加目录加模版
$this->display('Admin@Bbb/add');
./Weibo/ Admin /View/default/ Bbb /add.tpl
//修改默认模版,主题加目录加模版
$this->theme('blue')->display('Bbb/add');
./Weibo/Home/View/ blue/ / Bbb /add.tpl
//修改默认模版,自定义模版
$this->display('./Template/Public/add.tpl');
./ Template/ / Public/ add.tpl //Template 和 Weibo 同级
//修改默认模版,指定编码和文件类型,一般不用填写,默认即可
$this->display('add', 'utf-8', 'text/xml');
如果报这种错,不要被其迷惑;其实就是相当于 ./Template/Public/add.tpl.html
./WeiBo/Home/View/./Template/Public/add.tpl.html
三. 模版地址 T(),专门用于生成模版文件
T([资源://][模块@][主题/][控制器/]操作,[视图分层]);
和display()的参数有点相似,但是更高级。可以结合这个方法来实现模版目录的切换
四.获取模版内容----- fetch()方法
//获取模版里的内容
$content = $this->fetch();
var_dump($content);
//通过内容再渲染输出
$this->show($content);
这种获取模版所有代码(以字符串的形式),处理之后再渲染输出还是很强大的
掌握Thinkphp3.2.0----视图的更多相关文章
- Thinkphp5.0 视图view取值
Thinkphp5.0 视图view取值 <!-- 获取控制器传递的变量 --> <li>{$age}</li> <!-- 获取服务器的信息 --> & ...
- ThinkPHP5.0框架开发--第9章 TP5.0视图和模板
ThinkPHP5.0框架开发--第9章 TP5.0视图和模板 第9章 TP5.0视图和模板 ===================================================== ...
- [译]ASP.NET Core 2.0 视图引擎
问题 如何在ASP.NET Core 2.0中使用Razor引擎来创建视图? 答案 新建一个空项目,修改Startup.cs,添加MVC服务和请求中间件: public void ConfigureS ...
- [译]ASP.NET Core 2.0 视图组件
问题 如何在ASP.NET Core 2.0中使用视图组件? 答案 新建一个空项目,修改Startup类并添加MVC服务和中间件: public void ConfigureServices(ISer ...
- .net core 3.0视图动态编译
之前在使用Visual Studio 2019的时候,就发现asp.net 3.0中没有cshtml动态编译的功能了:也就是说,如果改了cshtml,刷新页面不会立即生效,而是要重新编译一次才行. 这 ...
- thinkphp5.0学习(九):TP5.0视图和模板
原文地址:http://blog.csdn.net/fight_tianer/article/details/78602711 一.视图 1.加载页面 1.继承系统控制器类 return $this- ...
- 在Asp.Net Core MVC 3.0 视图运行时编译
在正常情况下,视图在生成的时候就会变为 xxx.Views.dll,在开发的时候,这样很不方便,因为很多的时候,我们只是修改一个样式,调整一些JavaScript代码,这个时候要把项目调试暂停下来,生 ...
- 【Flask】 python学习第一章 - 2.0 视图方式和返回值
路由参数与请求方式制定 ALT+回车 pycharm 快速导包 demo3 指定访问地址 与请求方式 # 给路由传入参数 使用尖括号 ,视图函数需要接收参数 @app.route(&q ...
- 学习 yii2.0——视图之间相互包含
布局 首先创建一个布局文件simple.php,路径是在views/layout/目录下. <p>this is header</p> <?= $content ?> ...
- 4.ASP.NET MVC 5.0 视图之模型绑定
大家好,这篇文章,我将向大家介绍ASP.NET MVC的模型视图绑定,ASP.MVC的模型绑定分为两种:一种是动态绑定[Dynamic Binding];还有一种就是强类型绑定[Strongly ty ...
随机推荐
- Android adapter适配器的学习
学习Android有一点时间,说说自己的学习感悟. 首先呢,先说说适配器的作用,顾名思义,它就是把数据定义好一定的规则,使得我们可以用到ListView GridView等上面 所以说这玩意,还是得好 ...
- 编辑 Ext 表格(二)——— 编辑表格元素
一.编辑单元格 Ext 中通过配置表格的属性 plugins 来设置表格是否可编辑, 表格的配置具体如下: var gridTable = Ext.create('Ext.grid.Panel', { ...
- UItableview 添加 uisearchController
@property (nonatomic, strong) UISearchController* searchController; self.searchController = [[UISear ...
- C语言SOCKET编程指南
1.介绍 Socket 编程让你沮丧吗?从man pages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用 connect() 前的bind() 的结构而不知所措? ...
- mysql常见错误及解决方案
mysql error 2005 - Unknown MySQL server host 'localhost'(0) 此错误一般为地址信息错误,注意是否有空格. 在连接本地数据库时,最好使用127. ...
- 转:WCF、WebAPI、WCFREST、WebService之间的区别
WCF.WebAPI.WCFREST.WebService之间的区别 注明:转载 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API ...
- spring-表达式语言-SpEL【转】
Spring表达式语言(Spring Expression Language)简称:SpEL 课程概要: Spring表达式语言的入门介绍 Spring表达式语言的操作范围 Spring表达式语言的运 ...
- Session和Cache的区别
以前实现数据的缓存有很多种方法,有客户端的Cookie,有服务器端的Session和Application.其中Cookie是保存在客户端的一组数据,主要用来保存用户名等个人信息.Session则保存 ...
- Windows Server 2008 R2 DNS 服务器迁移
- Leetcode jump Game
Given an array of non-negative integers, you are initially positioned at the first index of the arra ...