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下将图片以二进制存入mysql数据库中并显示的实现代码
May 27 PHP
PHP三层结构(上) 简单三层结构
Jul 04 PHP
深入php中var_dump方法的使用详解
Jun 24 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
Jun 22 PHP
如何让thinkphp在模型中自动完成session赋值小教程
Sep 05 PHP
php使用for语句输出三角形的方法
Jun 09 PHP
在Debian系统下配置LNMP的教程
Jul 09 PHP
Zend Framework常用校验器详解
Dec 09 PHP
thinkPHP5.0框架API优化后的友好性分析
Mar 17 PHP
Yii框架实现多数据库配置和操作的方法
May 25 PHP
PHP培训要多少钱
Jun 06 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
Oct 11 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
粗略计算在线时间,bug:ip相同
2006/12/09 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
2014/05/10 PHP
php英文单词统计器
2016/06/23 PHP
php中bind_param()函数用法分析
2017/03/28 PHP
用js实现上传图片前的预览(TX的面试题)
2007/08/14 Javascript
JQuery 学习笔记 选择器之五
2009/07/23 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
简单谈谈JavaScript的同步与异步
2015/12/31 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
2016/10/10 Javascript
JavaScript数组去重的几种方法效率测试
2016/10/23 Javascript
Bootstrap Search Suggest使用例子
2016/12/21 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
2017/02/18 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
详解angular分页插件tm.pagination二次触发问题解决方案
2018/07/20 Javascript
Vue移动端右滑屏幕返回上一页附源码下载
2019/06/26 Javascript
js计算最大公约数和最小公倍数代码实例
2019/09/11 Javascript
原生JS与JQ获取元素的区别详解
2020/02/13 Javascript
python获取网页状态码示例
2014/03/30 Python
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
Python利用heapq实现一个优先级队列的方法
2019/02/03 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
解决Keras 自定义层时遇到版本的问题
2020/06/16 Python
Python requests上传文件实现步骤
2020/09/15 Python
Python基于unittest实现测试用例执行
2020/11/25 Python
浅析HTML5 Landmark
2020/09/11 HTML / CSS
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
TobyDeals美国:在电子产品上获得最好的优惠和折扣
2019/08/11 全球购物
软件测试常见笔试题
2012/02/04 面试题
实习会计求职自荐信范文
2014/03/10 职场文书
销售员工作检讨书(推荐篇)
2014/10/18 职场文书
2015年安全工作总结范文
2015/04/02 职场文书
走进科学观后感
2015/06/18 职场文书
小学运动会宣传稿
2015/07/23 职场文书
朋友聚会祝酒词
2015/08/10 职场文书
Python 数据可视化神器Pyecharts绘制图像练习
2022/02/28 Python