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 中include()与require()的对比
Oct 09 PHP
php UTF-8、Unicode和BOM问题
May 18 PHP
php 数组使用详解 推荐
Jun 02 PHP
PHP 基于文件头的文件类型验证类函数
May 01 PHP
php面向对象 字段的声明与使用
Jun 14 PHP
如何用php获取文件名后缀
Jun 09 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
Apr 24 PHP
php文档工具PHP Documentor安装与使用方法
Jan 25 PHP
PHP实现163邮箱自动发送邮件
Mar 29 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
Jun 13 PHP
Laravel 实现关系模型取出需要的字段
Oct 10 PHP
Laravel如何实现自动加载类
Oct 14 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中过滤非法字符的具体实现
2013/10/29 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
js 学习笔记(三)
2009/12/29 Javascript
javascript笔记 String类replace函数的一些事
2011/09/22 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
js 调用父窗口的具体实现代码
2013/07/15 Javascript
浅析offsetLeft,Left,clientLeft之间的区别
2013/11/30 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
2015/09/02 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
nodejs搭建本地服务器并访问文件的方法
2017/03/03 NodeJs
利用forever和pm2部署node.js项目过程
2017/05/10 Javascript
深入理解react-router@4.0 使用和源码解析
2017/05/23 Javascript
AngularJS中使用ngModal模态框实例
2017/05/27 Javascript
判断滚动条滑到底部触发事件(实例讲解)
2017/11/15 Javascript
vue+element表格导出为Excel文件
2019/09/26 Javascript
python多线程编程方式分析示例详解
2013/12/06 Python
常见的python正则用法实例讲解
2016/06/21 Python
python针对不定分隔符切割提取字符串的方法
2018/10/26 Python
python pyenv多版本管理工具的使用
2019/12/23 Python
PyTorch中的Variable变量详解
2020/01/07 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
印度领先的眼镜电子商务网站:Lenskart
2019/12/16 全球购物
Windows和Linux动态库应用异同
2016/04/17 面试题
销售总监工作职责
2013/11/21 职场文书
《美丽的小兴安岭》教学反思
2014/02/26 职场文书
人力资源本科毕业生求职信
2014/06/04 职场文书
雷人标语集锦
2014/06/19 职场文书
新文化运动的基本口号
2014/06/21 职场文书
学校政风行风评议心得体会
2014/10/21 职场文书
2014年后勤管理工作总结
2014/12/01 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
深入解析Apache Hudi内核文件标记机制
2022/03/31 Servers
使用Python开发冰球小游戏
2022/04/30 Python
python中filter,map,reduce的作用
2022/06/10 Python