ThinkPHP3.1新特性之内容解析输出详解


Posted in PHP onJune 19, 2014

以往版本的ThinkPHP中页面输出的过程是读取模板文件,然后进行模板解析(也支持调用第三方模板引擎解析),但是有一些情况,我们并没有定义模板文件,或者把模板文件保存在数据库里面,那么这种情况下进行页面输出的时候,我们是无法进行模板文件读取的,ThinkPHP3.1版本则针对这样的情况增加了内容解析输出的功能。

内置的模板引擎也进行了完善,如果传入的模板文件不存在的话,则会认为是传入的模板解析内容,因此,ThinkPHP3.1版的View类和Action类也做了一些相应的改进。

display方法用于模板文件渲染输出,show方法则用于模板内容渲染输出,并且show方法仍然支持内容解析功能,因此,我们可以在控制器中这样使用:

$this->assign('name','ThinkPHP');
$this->show('hello,{$name}!');

页面输出的结果是:

hello,ThinkPHP!

你也可以采用读取数据库的方式:

$content = M('Data')->where($map)->getField('content');
$this->show($content);

对于$content变量中的内容,可以和模板文件一样支持变量和标签库的解析,并且也可以支持模板布局功能。
show方法也可以指定输出编码和类型,例如:

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

总之,有了show方法后,可以把模板放数据库中,对于模板的管理和更新也更加方便了。

PHP 相关文章推荐
php开启安全模式后禁用的函数集合
Jun 26 PHP
php中批量修改文件后缀名的函数代码
Oct 23 PHP
php中stream(流)的用法
Mar 25 PHP
ThinkPHP中关联查询实例
Dec 02 PHP
Laravel中使用自己编写类库的3种方法
Feb 10 PHP
服务器上配置PHP运行环境教程
Feb 12 PHP
WordPress主题制作之模板文件的引入方法
Dec 28 PHP
smarty学习笔记之常见代码段用法总结
Mar 19 PHP
Yii2增删改查之查询 where参数详细介绍
Aug 08 PHP
ThinkPHP删除栏目(实现批量删除栏目)
Jun 21 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
Jul 18 PHP
laravel框架实现后台登录、退出功能示例
Oct 31 PHP
ThinkPHP3.1新特性之对页面压缩输出的支持
Jun 19 #PHP
ThinkPHP3.1新特性之多数据库操作更加完善
Jun 19 #PHP
ThinkPHP3.1新特性之G方法的使用
Jun 19 #PHP
ThinkPHP3.1新特性之查询条件预处理简介
Jun 19 #PHP
ThinkPHP3.1新特性之字段合法性检测详解
Jun 19 #PHP
ThinkPHP3.1新特性之动态设置自动完成和自动验证示例
Jun 19 #PHP
ThinkPHP的Widget扩展实例
Jun 19 #PHP
You might like
用session做客户验证时的注意事项
2006/10/09 PHP
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
PHP中exec与system用法区别分析
2014/09/22 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
php两种无限分类方法实例
2015/04/21 PHP
php实现短信发送代码
2015/07/05 PHP
addEventListener 的用法示例介绍
2014/05/07 Javascript
ajax提交表单实现网页无刷新注册示例
2014/05/08 Javascript
jQuery类选择器用法实例
2014/12/23 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件包装
2015/11/20 Javascript
Eclipse引入jquery报错如何解决
2015/12/01 Javascript
JS获取鼠标坐标位置实例分析
2016/01/20 Javascript
jQuery移除或禁用html元素点击事件常用方法小结
2017/02/10 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
JavaScript中如何对多维数组(矩阵)去重的实现
2019/12/04 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
JavaScript 中判断变量是否为数字的示例代码
2020/10/22 Javascript
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
[45:52]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第二场 12.09
2020/12/12 DOTA
python通过pip更新所有已安装的包实现方法
2017/05/19 Python
Python批处理删除和重命名文件夹的实例
2018/07/11 Python
详解Python静态网页爬取获取高清壁纸
2019/04/23 Python
pytorch torch.expand和torch.repeat的区别详解
2019/11/05 Python
python解析xml文件方式(解析、更新、写入)
2020/03/05 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
2020/06/10 Python
化石印度尼西亚在线商店:Fossil Indonesia
2019/03/11 全球购物
房地产管理毕业生自荐信
2013/11/04 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
创建卫生先进单位实施方案
2014/03/10 职场文书
西式婚礼主持词
2014/03/13 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
注册资产评估专业求职信
2014/07/16 职场文书
2014年人民调解工作总结
2014/12/08 职场文书
工人先锋号申报材料
2014/12/29 职场文书
辛亥革命观后感
2015/06/02 职场文书
大学运动会通讯稿
2015/07/18 职场文书