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 相关文章推荐
一个阿拉伯数字转中文数字的函数
Oct 09 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
Dec 05 PHP
php实现httpclient类示例
Apr 08 PHP
C#使用PHP服务端的Web Service通信实例
Apr 08 PHP
php实现通用的信用卡验证类
Mar 24 PHP
PHP中的魔术方法总结和使用实例
May 11 PHP
PHP开发中csrf攻击的简单演示和防范
May 07 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
PHP基于phpqrcode类生成二维码的方法详解
Mar 14 PHP
实例解析php的数据类型
Oct 24 PHP
Linux基于php-fpm模式的lamp搭建phpmyadmin的方法
Oct 25 PHP
Laravel中获取IP的真实地理位置
Apr 01 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 时间转换Unix时间戳代码
2010/01/22 PHP
PHP学习之整理字符串
2011/04/17 PHP
初学PHP的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
php简单实现查询数据库返回json数据
2015/04/16 PHP
54个提高PHP程序运行效率的方法
2015/07/19 PHP
PHP版微信第三方实现一键登录及获取用户信息的方法
2016/10/14 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
查询绑定数据岛的表格中的文本并修改显示方式的js代码
2009/12/15 Javascript
html a标签-超链接中confirm方法使用介绍
2013/01/04 Javascript
Jquery遍历Json数据的方法
2015/04/20 Javascript
JavaScript中调用函数的4种方式代码实例
2015/07/08 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
python实现的简单RPG游戏流程实例
2015/06/28 Python
简单了解Python下用于监视文件系统的pyinotify包
2015/11/13 Python
python执行使用shell命令方法分享
2017/11/08 Python
Python中pip更新和三方插件安装说明
2018/07/08 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
2018/12/15 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
2019/04/01 Python
pytorch 预训练层的使用方法
2019/08/20 Python
使用tensorflow显示pb模型的所有网络结点方式
2020/01/23 Python
Python3列表List入门知识附实例
2020/02/09 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
在python中使用pyspark读写Hive数据操作
2020/06/06 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
在keras中实现查看其训练loss值
2020/06/16 Python
基于Html5实现的语音搜索功能
2019/05/13 HTML / CSS
加拿大床上用品、家居装饰、厨房和浴室产品购物网站:Linen Chest
2018/06/05 全球购物
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
通用C#笔试题附答案
2016/11/26 面试题
餐厅楼面部长岗位职责范文
2014/02/16 职场文书
卫生院健康教育实施方案
2014/06/07 职场文书
2014年学校后勤工作总结
2014/12/06 职场文书
活动简报范文
2015/07/22 职场文书
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers