thinkPHP学习记录4

Posted dajunjun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkPHP学习记录4相关的知识,希望对你有一定的参考价值。

视图

模板定义

模板按 视图目录(默认为view)/[模板主题]/控制器名/操作名+模板后缀 存储。

模板主题

每个模板都可以有一个主题,只需要在目录结构上多一层而已,在视图渲染输出之前,我们可以通过动态设置来改变需要使用的模板主题。

1
2
// 在控制器中动态改变模板主题
$this->theme('blue')->display('add');

模板赋值

在控制器中把变量赋值给模板需要使用assign方法
$this->assihn(‘ name ‘,$value)
赋值后可以在模板中用{$name}来输出
如果要同时输出多个模板变量

1
2
3
4
$array['name'] = 'thinkphp';
$array['email'] = 'liu21st@gmail.com';
$array['phone'] = '12335678';
$this->assign($array);

在模板中的输出为:

1
<?php echo $name.'['.$email.''.$phone.']';?>

如果采用内置的模板引擎,可以使用:

1
{$name} [ {$email} {$phone} ]

输出同样的内容。

模板渲染

模板赋值必须在模板渲染之前操作

渲染模板输出最常用的是使用display方法,调用格式:

1
display('[模板文件]'[大专栏  thinkPHP学习记录4tring">,'字符编码'][,'输出类型'])

获取模板地址

为了更方便的输出模板文件,新版封装了一个T函数用于生成模板文件名。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
T('Public/menu');
// 返回 当前模块/View/Public/menu.html
T('blue/Public/menu');
// 返回 当前模块/View/blue/Public/menu.html
T('Public/menu','Tpl');
// 返回 当前模块/Tpl/Public/menu.html
T('Public/menu');
// 如果TMPL_FILE_DEPR 为 _ 返回 当前模块/Tpl/Public_menu.html
T('Public/menu');
// 如果TMPL_TEMPLATE_SUFFIX 为.tpl 返回 当前模块/Tpl/Public/menu.tpl
T('Admin@Public/menu');
// 返回 Admin/View/Public/menu.html
T('Extend://Admin@Public/menu');
// 返回 Extend/Admin/View/Public/menu.html (Extend目录取决于AUTOLOAD_NAMESPACE中的配置)

获取内容

如果需要获取渲染模板的输出内容而不是直接输出,可以使用fetch方法。

1
$content = $this->fetch('Member:edit');

如果你没有定义任何模板文件,或者把模板内容存储到数据库中的话,你就需要使用show方法来渲染输出了

1
$this->show($content, 'utf-8', 'text/xml');

模板引擎

以上是关于thinkPHP学习记录4的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP项目笔记之MVC篇

thinkphp5学习记录一

视频学习笔录---ThinkPHP---框架介绍

ElasticSearch学习问题记录——Invalid shift value in prefixCoded bytes (is encoded value really an INT?)(代码片段

thinkphp5.1学习笔记

python小白学习记录 多线程爬取ts片段