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 第二节 数据类型之数值型
Apr 28 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
PHP英文字母大小写转换函数小结
May 03 PHP
php实现把url转换迅雷thunder资源下载地址的方法
Nov 07 PHP
JavaScript实现滚动栏效果的方法
Apr 27 PHP
PHP实现全角字符转为半角方法汇总
Jul 09 PHP
PHP的openssl加密扩展使用小结(推荐)
Jul 18 PHP
thinkphp整合微信支付代码分享
Nov 24 PHP
Yii2.0使用阿里云OSS的SDK上传图片、下载、删除图片示例
Sep 20 PHP
使用composer命令加载vendor中的第三方类库 的方法
Jul 09 PHP
PHP连接SQL server数据库测试脚本运行实例
Aug 24 PHP
Swoole扩展的6种模式深入详解
Mar 04 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 配置open_basedir 让各虚拟站点独立运行
2009/11/12 PHP
PHP读取XML值的代码(推荐)
2011/01/01 PHP
Smarty变量调节器失效的解决办法
2014/08/20 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
php微信公众号开发之二级菜单
2018/10/20 PHP
PHP反射基础知识回顾
2020/09/10 PHP
DOM精简教程
2006/10/03 Javascript
javascript 单例/单体模式(Singleton)
2011/04/07 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
javascript模拟post提交隐藏地址栏的参数
2014/09/03 Javascript
javascript编写实用的省市选择器
2015/02/12 Javascript
JS集成fckeditor及判断内容是否为空的方法
2016/05/27 Javascript
JS实现隐藏同级元素后只显示JS文件内容的方法
2016/09/04 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
python读取和保存视频文件
2018/04/16 Python
python学习基础之循环import及import过程
2018/04/22 Python
完美解决在oj中Python的循环输入问题
2018/06/25 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
Python语法之精妙的十个知识点(装B语法)
2020/01/18 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
Python面向对象多态实现原理及代码实例
2020/09/16 Python
python 爬虫网页登陆的简单实现
2020/11/30 Python
附答案的Java面试题
2012/11/19 面试题
经济信息管理专业大学生求职信
2013/09/27 职场文书
社会保险接收函
2014/01/12 职场文书
婚宴主持词
2015/06/30 职场文书
2016新年年会主持词
2015/07/06 职场文书
python爬取新闻门户网站的示例
2021/04/25 Python
教你怎么用Python生成九宫格照片
2021/05/20 Python
CI Games宣布《堕落之王2》使用虚幻引擎5制作 预计将于2023年正式发售
2022/04/11 其他游戏