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'] = 'think php'; $array['email'] = 'liu21st@gmail.com'; $array['phone'] = '12335678'; $this->assign($array);
|
在模板中的输出为:
1
| <?php echo $name.'['.$email.''.$phone.']';?>
|
如果采用内置的模板引擎,可以使用:
1
| {$name} [ {$email} {$phone} ]
|
输出同样的内容。
模板渲染
模板赋值必须在模板渲染之前操作
渲染模板输出最常用的是使用display方法,调用格式:
获取模板地址
为了更方便的输出模板文件,新版封装了一个T函数用于生成模板文件名。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| T('Public/menu'); // 返回 当前模块/View/Public/menu. htmlT('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片段