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 彩色文字实现代码
Jun 29 PHP
php学习笔记 数组的常用函数
Jun 13 PHP
测试PHP连接MYSQL成功与否的代码
Aug 16 PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
Apr 24 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
May 04 PHP
php实现删除空目录的方法
Mar 16 PHP
php通过asort()给关联数组按照值排序的方法
Mar 18 PHP
Symfony2函数用法实例分析
Mar 18 PHP
php 防止表单重复提交两种实现方法
Nov 03 PHP
thinkphp5 migrate数据库迁移工具
Feb 20 PHP
php-fpm超时时间设置request_terminate_timeout资源问题分析
Sep 27 PHP
ThinkPHP5.1验证码功能实现的示例代码
Jun 08 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/06/08 PHP
PHP使用PDO连接ACCESS数据库
2015/03/05 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
PHP自定义错误处理的方法分析
2018/12/19 PHP
php命令行模式代码实例详解
2021/02/26 PHP
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
JavaScript 字符编码规则
2009/05/04 Javascript
javascript 树控件 比较好用
2009/06/11 Javascript
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
js中判断Object、Array、Function等引用类型对象是否相等
2012/08/29 Javascript
javascript实现删除前弹出确认框
2015/06/04 Javascript
详解Bootstrap的aria-label和aria-labelledby应用
2016/01/04 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
JavaScript的Proxy可以做哪些有意思的事儿
2019/06/15 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
JavaScript图像放大镜效果实现方法详解
2020/06/28 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
微信小程序实现点击导航条切换页面
2020/11/19 Javascript
Python基类函数的重载与调用实例分析
2015/01/12 Python
python实现机器人行走效果
2018/01/29 Python
python实现beta分布概率密度函数的方法
2019/07/08 Python
python版百度语音识别功能
2019/07/09 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
树莓派3 搭建 django 服务器的实例
2019/08/29 Python
python实现修改固定模式的字符串内容操作示例
2019/12/30 Python
python读取与处理netcdf数据方式
2020/02/14 Python
scrapy头部修改的方法详解
2020/12/06 Python
HTML 5 input placeholder 属性如何完美兼任ie
2014/05/12 HTML / CSS
长青弘远的面试题
2012/06/09 面试题
高中生职业生涯规划书
2014/02/24 职场文书
酒店节能减排方案
2014/05/26 职场文书
2014年生活老师工作总结
2014/12/23 职场文书
黄山导游词
2015/01/31 职场文书
六年级数学教学反思
2016/02/16 职场文书
使用python如何删除同一文件夹下相似的图片
2021/05/07 Python
一文了解MySQL二级索引的查询过程
2022/02/24 MySQL