视图
模板定义
模板按 视图目录(默认为view)/[模板主题]/控制器名/操作名+模板后缀 存储。
模板主题
每个模板都可以有一个主题,只需要在目录结构上多一层而已,在视图渲染输出之前,我们可以通过动态设置来改变需要使用的模板主题。
1 2 |
// 在控制器中动态改变模板主题 $this->theme('blue')->display('add'); |
模板赋值
在控制器中把变量赋值给模板需要使用assign方法
$this->assihn(‘ name ‘,$value)
赋值后可以在模板中用{$name}来输出
如果要同时输出多个模板变量
1 2 3 4 |
$array['name'] = 'thinkphp'; $array['email'] = '[email protected]'; $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('[email protected]/menu'); // 返回 Admin/View/Public/menu.html T('Extend://[email protected]/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'); |
模板引擎
原文地址:https://www.cnblogs.com/dajunjun/p/11712940.html
时间: 2024-10-10 20:58:26