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中Session的概念
Oct 09 PHP
怎样在UNIX系统下安装php3
Oct 09 PHP
php+AJAX传送中文会导致乱码的问题的解决方法
Sep 08 PHP
PHP四舍五入精确小数位及取整
Jan 14 PHP
php+ajax实现图片文件上传功能实例
Jun 17 PHP
php实现两个数组相加的方法
Feb 17 PHP
php页面,mysql数据库转utf-8乱码,utf-8编码问题总结
Aug 27 PHP
PHP文件上传之多文件上传的实现思路
Jan 27 PHP
php之可变变量的实例详解
Sep 12 PHP
PHP检测一个数组有没有定义的方法步骤
Jul 20 PHP
PHP如何使用JWT做Api接口身份认证的实现
Feb 03 PHP
TP3.2框架分页相关实现方法分析
Jun 03 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
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
PHP中preg_match函数正则匹配的字符串长度问题
2015/05/27 PHP
JavaScript的9个陷阱及评点分析
2008/05/16 Javascript
javascript import css实例代码
2008/07/18 Javascript
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)
2013/01/29 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
Jquery的hide及toggle方法让超链接慢慢消失
2013/09/06 Javascript
Javscript删除数组中指定元素并返回新数组
2014/03/06 Javascript
jQuery中ajax的load()方法用法实例
2014/12/26 Javascript
jQuery中first()方法用法实例
2015/01/06 Javascript
javascript实现rgb颜色转换成16进制格式
2015/07/10 Javascript
详解WordPress开发中get_current_screen()函数的使用
2016/01/11 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
js正则表达式验证表单【完整版】
2017/03/06 Javascript
AngularJS的脏检查深入分析
2017/04/22 Javascript
Nodejs对postgresql基本操作的封装方法
2019/02/20 NodeJs
vue中nextTick用法实例
2019/09/11 Javascript
python中set常用操作汇总
2016/06/30 Python
python对DICOM图像的读取方法详解
2017/07/17 Python
python实现一个简单的ping工具方法
2019/01/31 Python
Python Pandas对缺失值的处理方法
2019/09/27 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
Python hashlib和hmac模块使用方法解析
2020/12/08 Python
Python3压缩和解压缩实现代码
2021/03/01 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
canvas小画板之平滑曲线的实现
2020/08/12 HTML / CSS
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
高中数学教学反思
2014/01/30 职场文书
见习期自我鉴定
2014/01/31 职场文书
村庄环境整治方案
2014/05/15 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
法定代表人授权委托书范文
2014/08/02 职场文书
行政主管岗位职责
2015/02/03 职场文书
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python
Java Spring读取和存储详细操作
2022/08/05 Java/Android