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 相关文章推荐
在线增减.htpasswd内的用户
Oct 09 PHP
支持php4、php5的mysql数据库操作类
Jan 10 PHP
PHP--用万网的接口实现域名查询功能
Dec 13 PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
Jun 12 PHP
php检查字符串中是否有外链的方法
Jul 29 PHP
PHPStorm+XDebug进行调试图文教程
Jun 13 PHP
Yii2框架实现数据库常用操作总结
Feb 08 PHP
PHP实现数组的笛卡尔积运算示例
Dec 15 PHP
PHP attributes()函数讲解
Feb 03 PHP
php新建文件的方法实例
Sep 26 PHP
PHP设计模式(六)桥连模式Bridge实例详解【结构型】
May 02 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开发模式(简写版)
2007/03/15 PHP
php中突破基于HTTP_REFERER的防盗链措施(stream_context_create)
2011/03/29 PHP
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
2013/04/26 PHP
Yii2中DropDownList简单用法示例
2016/07/18 PHP
详解PHP处理字符串类似indexof的方法函数
2017/06/11 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
写js时遇到的一些小问题
2010/12/06 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
jQuery on()方法使用技巧详解
2015/04/16 Javascript
XML、HTML、CSS与JS的区别整理
2016/02/18 Javascript
JQuery遍历元素的父辈和祖先的方法
2016/09/18 Javascript
老生常谈原生JS执行环境与作用域
2016/11/22 Javascript
ionic2打包android时gradle无法下载的解决方法
2017/04/05 Javascript
js使用i18n实现页面国际化的方法
2017/05/09 Javascript
vue用addRoutes实现动态路由的示例
2017/09/15 Javascript
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
搭建基于express框架运行环境的方法步骤
2018/11/15 Javascript
js字符串倒序的实例代码
2018/11/30 Javascript
Python实现基于HTTP文件传输实例
2014/11/08 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
解决python线程卡死的问题
2019/02/18 Python
Python面向对象程序设计构造函数和析构函数用法分析
2019/04/12 Python
在python里面运用多继承方法详解
2019/07/01 Python
python tkinter基本属性详解
2019/09/16 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
2020/01/14 Python
提高python代码运行效率的一些建议
2020/09/29 Python
python实现计算器简易版
2020/12/17 Python
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
美国波道夫·古德曼百货官网:Bergdorf Goodman
2017/11/07 全球购物
售后服务承诺书怎么写
2014/05/21 职场文书
地震捐款倡议书
2014/08/29 职场文书
入党积极分子群众意见
2015/06/01 职场文书
2016年基层党组织公开承诺书
2016/03/25 职场文书