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 相关文章推荐
用PHP实现WEB动态网页静态
Oct 09 PHP
PHP为表单获取的URL 地址预设 http 字符串函数代码
May 26 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
Jul 22 PHP
PHP实现视频文件上传完整实例
Aug 28 PHP
php在线解压ZIP文件的方法
Dec 30 PHP
PHP获取QQ达人QQ信息的方法
Mar 05 PHP
PHP实现的增强性mhash函数
May 27 PHP
PHP简单实现DES加密解密的方法
Jul 12 PHP
使用PHP免费发送定时短信的实例
Oct 24 PHP
CodeIgniter框架常见用法工作总结
Mar 16 PHP
thinkPHP5.0框架URL访问方法详解
Mar 18 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 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开发中常用的8个小技巧
2008/08/27 PHP
php操作xml入门之xml标签的属性分析
2015/01/23 PHP
PHP上传文件及图片到七牛的方法
2018/07/25 PHP
jQuery插件开发全解析
2012/10/10 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
js禁止document element对象选中文本实现代码
2013/03/21 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
javascript简单性能问题及学习笔记
2014/02/04 Javascript
js实现简洁的滑动门菜单(选项卡)效果代码
2015/09/04 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
详解angular中通过$location获取路径(参数)的写法
2017/03/21 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
Node.JS中快速扫描端口并发现局域网内的Web服务器地址(80)
2017/09/18 Javascript
vue实现前台列表数据过滤搜索、分页效果
2019/05/28 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
2019/09/04 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
使用layer弹窗,制作编辑User信息页面的方法
2019/09/27 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
Python之日期与时间处理模块(date和datetime)
2017/02/16 Python
利用python获取当前日期前后N天或N月日期的方法示例
2017/07/30 Python
Anaconda3中的Jupyter notebook添加目录插件的实现
2020/05/18 Python
浅析python 通⽤爬⾍和聚焦爬⾍
2020/09/28 Python
深入解读CSS3中transform变换模型的渲染
2016/05/27 HTML / CSS
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
Scholastic父母商店:儿童书籍
2017/01/01 全球购物
C#如何进行LDAP用户校验
2012/11/21 面试题
人事专员工作职责
2014/02/22 职场文书
社区助残日活动总结
2014/08/29 职场文书
报效祖国演讲稿
2014/09/15 职场文书
2014年政风行风工作总结
2014/11/22 职场文书
mysql使用instr达到in(字符串)的效果
2022/04/03 MySQL