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中使用gettext来支持多语言的方法
May 02 PHP
PHP基础教程(php入门基础教程)一些code代码
Jan 06 PHP
自定义php类(查找/修改)xml文档
Mar 26 PHP
关于php正则匹配汉字的方法介绍
Apr 25 PHP
作为PHP程序员应该了解MongoDB的五件事
Jun 03 PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 PHP
php不用正则验证真假身份证
Nov 06 PHP
php实现加减法验证码代码
Feb 14 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
Jun 26 PHP
php实现批量压缩图片文件大小的脚本
Jul 04 PHP
php删除一个路径下的所有文件夹和文件的方法
Feb 07 PHP
设定php简写功能的方法
Nov 28 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
dedecms中使用php语句指南
2014/11/13 PHP
php打包网站并在线压缩为zip
2016/02/13 PHP
PHP微信支付开发实例
2016/06/22 PHP
PHP7新特性foreach 修改示例介绍
2016/08/26 PHP
DEFER怎么用?
2006/07/01 Javascript
javascript字典探测用户名工具
2006/10/05 Javascript
Javascript的构造函数和constructor属性
2010/01/09 Javascript
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
nodejs npm install全局安装和本地安装的区别
2014/06/05 NodeJs
jquery实现鼠标滑过显示提示框的方法
2015/02/05 Javascript
JavaScript中Number.MAX_VALUE属性的使用方法
2015/06/04 Javascript
JS或jQuery获取ASP.NET服务器控件ID的方法
2015/06/08 Javascript
你不需要jQuery(三) 新AJAX方法fetch()
2016/06/14 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
浅谈vue项目打包优化策略
2018/09/29 Javascript
解决vue无法设置滚动位置的问题
2018/10/07 Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
2018/12/11 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
vue prop属性传值与传引用示例
2019/11/13 Javascript
jQuery Raty星级评分插件使用方法实例分析
2019/11/25 jQuery
在Python的gevent框架下执行异步的Solr查询的教程
2015/04/16 Python
python matplotlib画图库学习绘制常用的图
2019/03/19 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
2020/06/23 Python
python3 简单实现组合设计模式
2020/07/02 Python
移动通信行业实习自我鉴定
2013/09/28 职场文书
物理教学随笔感言
2014/02/22 职场文书
班级安全教育实施方案
2014/02/23 职场文书
金融系应届毕业生求职信
2014/05/26 职场文书
三八活动策划方案
2014/08/17 职场文书
民间个人借款协议书
2014/09/30 职场文书
小学感恩节活动策划方案
2014/10/06 职场文书
研究生个人学年总结
2015/02/14 职场文书
python 详解turtle画爱心代码
2022/02/15 Python