掌握Thinkphp3.2.0----视图

时间:2024-12-11 08:06:37

我们将要学习一下 ThinkPHP 视图,视图是 Web 的可见内容,一般是 HTML
结合 PHP 获取的数据提供给用户使用的部分,属于 MVC 中的 V

一. 模版定义  

  默认的模版文件定义规则:视图目录/[模版主题/]控制器名/操作名+模版后缀

可以设置相关的配置来更改这些设置:红框标出的位置为修改的位置 

//修改模版的视图目录
'DEFAULT_V_LAYER' =>'Template',

掌握Thinkphp3.2.0----视图

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

掌握Thinkphp3.2.0----视图

//用下划线代替目录层次,不用创建目录,而是用_链接的目录文件名称
'TMPL_FILE_DEPR'=>'_',

//设置外部的模版目录
'VIEW_PATH'=>'./Public/',

默认:掌握Thinkphp3.2.0----视图

修改后:掌握Thinkphp3.2.0----视图

//设置默认主题目录
'DEFAULT_THEME'=>'default',

掌握Thinkphp3.2.0----视图

//切换主题
$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);

这种获取模版所有代码(以字符串的形式),处理之后再渲染输出还是很强大的