ThinkPHP模板输出display用法分析


Posted in PHP onNovember 26, 2014

本文实例分析了ThinkPHP模板输出display用法。分享给大家供大家参考。具体分析如下:

模板变量赋值后就需要调用模板文件来输出相关的变量,模板调用通过display方法来实现,我们在操作方法的最后使用:

$this->display();

就可以输出模板,根据前面的模板定义规则,因为系统会按照默认规则自动定位模板文件,所以通常display方法无需带任何参数即可输出对应的模板,这是模板输出的最简单的用法。

事情总有特例,或者根本不需要按模块进行分目录存放,不过display方法总是能够帮你解决问题。

Display方法提供了几种规则让你可以随心所欲的输出需要的模板,无论你的模板文件在什么位置。

下面来看具体的用法:

一、调用当前模块的其他操作模板

格式:display('操作名')

例如,假设当前操作是User模块下面的read操作,我们需要调用User模块的edit操作模版,使用:

$this->display('edit');

不需要写模板文件的路径和后缀。

二、调用其他模块的操作模板

格式:display('模块名:操作名')

例如,当前是User模块,我们需要调用Member模块的read操作模版 ,使用:

$this->display('Member:read');

这种方式也不需要写模板文件的路径和后缀,严格来说,这里面的模块名和操作名并不一定需要有对应的模块或者操作,只是一个目录名称和文件名称而已,例如,你的项目里面可能根本没有Public模块,更没有Public模块的menu操作,但是一样可以使用

$this->display('Public:menu');

输出这个模板文件,理解了这个,模板输出就清晰了.

三、调用其他主题的操作模板

格式:display('主题名:模块名:操作名')

例如我们需要 调用Xp主题的User模块的edit操作模版,使用:

$this->display('Xp:User:edit');

这种方式需要指定模块和操作名

四、直接全路径输出模板

格式:display('模板文件名')

例如,我们直接输出当前的Public目录下面的menu.html模板文件,使用:

$this->display('./Public/menu.html');

这种方式需要指定模板路径和后缀,这里的Public目录是位于当前项目入口文件位置下面,如果是其他的后缀文件,也支持直接输出,例如:

$this->display('./Public/menu.tpl');

只要./Public/menu.tpl是一个实际存在的模板文件,如果使用的是相对路径的话,要注意当前位置是相对于项目的入口文件,而不是模板目录.

事实上,display方法还有其他的参数和用法。

有时候某个模板页面我们需要输出指定的编码,而不是默认的编码,可以使用:

$this->display('Member:read', 'gbk');

或者输出的模板文件不是text/html格式的,而是XML格式的,可以用:

$this->display('Member:read', 'utf-8', 'text/xml');

如果你的网站输出编码不是默认的编码,可以使用:

'DEFAULT_CHARSET'=> 'gbk'

如果要输出XML格式的,可以用:

'TMPL_CONTENT_TYPE'=> 'text/xml'

如果不需要渲染模板文件而是直接输出内容,可以使用show方法,例如:

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

希望本文所述对大家的ThinkPHP框架程序设计有所帮助。

PHP 相关文章推荐
Win2000+Apache+MySql+PHP4+PERL安装使用小结
Oct 09 PHP
PHP目录函数实现创建、读取目录教程实例
Jan 13 PHP
php判断终端是手机还是电脑访问网站的思路及代码
Apr 24 PHP
改写函数实现PHP二维/三维数组转字符串
Sep 13 PHP
php编写的简单页面跳转功能实现代码
Nov 27 PHP
PHP反向代理类代码
Aug 15 PHP
php中opendir函数用法实例
Nov 15 PHP
php遍历解析xml字符串的方法
May 05 PHP
PHP中Laravel 关联查询返回错误id的解决方法
Apr 01 PHP
基于Laravel 多个中间件的执行顺序详解
Oct 21 PHP
如何通过Apache在本地配置多个虚拟主机
Jul 29 PHP
用Laravel轻松处理千万级数据的方法实现
Dec 25 PHP
php中数字、字符与对象判断函数用法实例
Nov 26 #PHP
PHP中array_slice函数用法实例详解
Nov 25 #PHP
ThinkPHP框架设计及扩展详解
Nov 25 #PHP
Yii入门教程之目录结构、入口文件及路由设置
Nov 25 #PHP
Yii入门教程之Yii安装及hello world
Nov 25 #PHP
php 伪造ip以及url来路信息方法汇总
Nov 25 #PHP
浅析php适配器模式(Adapter)
Nov 25 #PHP
You might like
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
使用PHP遍历文件夹与子目录的函数代码
2011/09/26 PHP
CURL的学习和应用(附多线程实现)
2013/06/03 PHP
Yii框架中jquery表单验证插件用法示例
2016/10/18 PHP
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
2016/11/16 PHP
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
jqPlot 基于jquery的画图插件
2011/04/26 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
JS删除字符串中重复字符方法
2014/03/09 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
2016/08/15 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
Vue修改mint-ui默认样式的方法
2018/02/03 Javascript
vue2.0 + element UI 中 el-table 数据导出Excel的方法
2018/03/02 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
解决vue跨域axios异步通信问题
2019/04/17 Javascript
js设计模式之代理模式及订阅发布模式实例详解
2019/08/15 Javascript
[原创]教女朋友学Python3(二)简单的输入输出及内置函数查看
2017/11/30 Python
对dataframe数据之间求补集的实例详解
2019/01/30 Python
PySide和PyQt加载ui文件的两种方法
2019/02/27 Python
详解Python:面向对象编程
2019/04/10 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
Python3如何在服务器打印资产信息
2020/08/27 Python
python实现经纬度采样的示例代码
2020/12/10 Python
大学军训感言1500字
2014/03/09 职场文书
团支部建设方案
2014/05/02 职场文书
电力培训心得体会
2014/09/02 职场文书
大学生作弊检讨书
2014/09/11 职场文书
归途列车观后感
2015/06/17 职场文书
聘任协议书(挂靠)
2015/09/21 职场文书
python正则表达式re.search()的基本使用教程
2021/05/21 Python
Python pyecharts绘制条形图详解
2022/04/02 Python
《吸血鬼:避世 血猎》官宣4.27发售 系列首款大逃杀
2022/04/03 其他游戏