欢迎来到天天文库
浏览记录
ID:8542966
大小:33.50 KB
页数:9页
时间:2018-03-31
《thinkphp3.x中display方法及show方法用法实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、★精品文档★thinkphp3.x中display方法及show方法用法实例 本文实例讲述了thinkphp3.x中display方法及show方法的用法。分享给大家供大家参考,具体如下:通过前面的文章在了解了控制器和模型操作后,我们开始熟悉视图部分,ThinkPHP中的视图主要就是指模板文件和模板引擎,本篇首先了解下模板文件以及是如何进行渲染输出的。一、模板定义为了对模板文件更加有效的管理,ThinkPHP对模板文件进行目录划分,默认的模板文件定义规则是:模板目录/[分组名/][模板主题/]模块名/操作名+模板后缀模板目录默认是项目下面的
2、Tpl,当定义分组的情况下,会按照分组名分开子目录,新版模板主题默认是空(表示不启用模板主题功能),模板主题功能是为了多模板切换而设计的,如果有多个模板主题的话,可以用DEFAULT_THEME参数设置默认的模板主题名。在每个模板主题下面,是以项目的模块名为目录,然后是每个模块的具体操作模板文件,例如:User模块的add操作2016全新精品资料-全新公文范文-全程指导写作–独家原创9/9★精品文档★对应的模板文件就应该是:Tpl/User/add.html模板文件的默认后缀是.html,也可以通过TMPL_TEMPLATE_SUFFIX来配
3、置成其他的。例如,我们可以配置:‘TMPL_TEMPLATE_SUFFIX’=‘.tpl’定义后,User模块的add操作对应的模板文件就变成是:Tpl/User/add.tpl如果项目启用了模块分组功能(假设User模块属于Home分组),那么默认对应的模板文件可能变成:Tpl/Home/User/add.html分组模式下面,如果觉得目录结构太深,可以通过设置TMPL_FILE_DEPR参数来配置简化模板的目录层次,例如设置:‘TMPL_FILE_DEPR’=‘_’默认的模板文件就变成了:Tpl/Home/User_add.html正是因
4、为系统有这样一种模板文件自动识别的规则,所以给我们的模板渲染输出带来了简化。二、模板渲染2016全新精品资料-全新公文范文-全程指导写作–独家原创9/9★精品文档★模板定义后就可以通过display和show方法来渲染输出。其中display方法需要我们有定义模板文件,而show方法则是直接渲染内容输出。最常用的是display方法,调用格式:第一种:display(‘[主题:][模块:][操作]’[,’字符编码’][,’输出类型’])第二种:display(‘完整的模板文件名’[,’字符编码’][,’输出类型’])下面是一个最典型的用法,不
5、带任何参数:$this-display();表示系统会按照默认规则自动定位模板文件,所以通常display方法无需带任何参数即可输出对应的模板,这是模板输出的最简单的用法。如果没有按照模板定义规则来定义模板文件,或者我需要调用其他模块下面的某个模板,可以使用:$this-display(‘edit’); 表示调用当前模块下面的edit模板$this-display(‘Member:read’); 表示调用Member模块下面的read模板。如果我们使用了模板主题功能,那么也可以支持跨主题调用,使用:$this-displa
6、y(‘theme:User:edit’); 2016全新精品资料-全新公文范文-全程指导写作–独家原创9/9★精品文档★表示调用theme主题下面的User模块的edit模板。这种方式的渲染输出不需要写模板文件的路径和后缀,确切地说,这里面的模块和操作并不一定需要有对应的模块或者操作,只是一个目录名称和文件名称而已,例如,你的项目里面可能根本没有Public模块,更没有Public模块的menu操作,但是一样可以使用$this-display(‘Public:menu’); 输出这个模板文件。理解了这个,模板输出就清晰了。
7、display方法支持在渲染输出的时候指定输出编码和类型,例如:$this-display(‘read’,‘utf-8’,‘text/xml’); 表示输出XML页面类型(配合你的应用需求可以输出很多类型)。事情总有特例,如果模板目录是自定义的,或者根本不需要按模块进行分目录存放,那么默认的display渲染规则就不能处理,这个时候,我们就需要使用另外一种方式来应对,直接传入模板文件名即可,例如:$this-display(‘./Public/menu.html’);这种方式需要指定模板路径和后缀,这里的Public目录是位于当前项
8、目入口文件位置下面。如果是其他的后缀文件,也支持直接输出,例如:$this-display(‘./Public/menu.tpl’2016全新精品资料-全新公文范文
此文档下载收益归作者所有