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产生动态的影像图
Oct 09 PHP
php构造函数实例讲解
Nov 13 PHP
Zend Framework页面缓存实例
Jun 25 PHP
PHP之uniqid()函数用法
Nov 03 PHP
php生成二维码时出现中文乱码的解决方法
Dec 18 PHP
一个完整的PHP类包含的七种语法说明
Jun 04 PHP
高质量PHP代码的50个实用技巧必备(下)
Jan 22 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
php微信公众账号开发之前五个坑(一)
Sep 18 PHP
PHP递归删除多维数组中的某个值
Apr 17 PHP
统计PHP目录中的文件数方法
Mar 05 PHP
YII框架http缓存操作示例
Apr 29 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 默默经典版本
2009/08/04 PHP
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
MySql数据库查询结果用表格输出PHP代码示例
2015/03/20 PHP
ThinkPHP5框架实现简单的批量查询功能示例
2018/06/07 PHP
PHP中迭代器的简单实现及Yii框架中的迭代器实现方法示例
2020/04/26 PHP
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
解析JavaScript中点号“.”的多义性
2013/12/02 Javascript
js 通过html()及text()方法获取并设置p标签的显示值
2014/05/14 Javascript
关于jQuery判断元素是否存在的问题示例探讨
2014/07/21 Javascript
JQuery实现图片轮播效果
2015/09/15 Javascript
微信小程序上滑加载下拉刷新(onscrollLower)分批加载数据(一)
2017/05/11 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
自定义vue组件发布到npm的方法
2018/05/09 Javascript
js中apply()和call()的区别与用法实例分析
2018/08/14 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
生产制造追溯系统之在线打印功能
2019/06/03 Javascript
原生js实现自定义滚动条组件
2021/01/20 Javascript
原生微信小程序开发中 redux 的使用详解
2021/02/18 Javascript
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
python实现桌面气泡提示功能
2019/07/29 Python
基于python二叉树的构造和打印例子
2019/08/09 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
python 实现单通道转3通道
2019/12/03 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
Expedia泰国:预订机票、酒店和旅游包(航班+酒店)
2016/09/27 全球购物
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
幼儿园校车司机的岗位职责
2014/01/30 职场文书
旅游网创业计划书
2014/01/31 职场文书
党的群众路线批评与自我批评范文
2014/10/16 职场文书
军事博物馆观后感
2015/06/05 职场文书
法定代表人免职证明
2015/06/24 职场文书
仓库管理制度范本
2015/08/04 职场文书
教师培训学习心得体会
2016/01/21 职场文书
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL