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版国家代码、缩写查询函数代码
Aug 14 PHP
PHP 解决session死锁的方法
Jun 20 PHP
php json_encode值中大括号与花括号区别
Sep 30 PHP
一漂亮的PHP图片验证码实例
Mar 21 PHP
ThinkPHP关于session的操作方法汇总
Jul 18 PHP
php操作xml入门之cdata区段
Jan 23 PHP
php读取文件内容到数组的方法
Mar 16 PHP
PHP随机生成信用卡卡号的方法
Mar 23 PHP
mod_php、FastCGI、PHP-FPM等PHP运行方式对比
Jul 02 PHP
yii插入数据库防并发的简单代码
May 27 PHP
PHP编程实现的TCP服务端和客户端功能示例
Apr 13 PHP
yii2.0框架多模型操作示例【添加/修改/删除】
Apr 13 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/12/04 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
2016/03/21 PHP
Javascript 面向对象 继承
2010/05/13 Javascript
jquery(hide方法)隐藏指定元素实例
2013/11/11 Javascript
Javascript 字符串模板的简单实现
2016/02/13 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
JQuery统计input和textarea文字输入数量(代码分享)
2016/12/29 Javascript
nodejs开发——express路由与中间件
2017/03/24 NodeJs
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
vue 简单自动补全的输入框的示例
2018/03/12 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
2018/07/21 Javascript
json前后端数据交互相关代码
2018/09/19 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
express启用https使用小记
2019/05/21 Javascript
Bootstrap 时间日历插件bootstrap-datetimepicker配置与应用小结
2019/05/28 Javascript
node省市区三级数据性能测评实例分析
2019/11/06 Javascript
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
[43:26]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第二场 11.20
2020/11/23 DOTA
使用python实现ANN
2017/12/20 Python
python的numpy模块安装不成功简单解决方法总结
2017/12/23 Python
对Python中gensim库word2vec的使用详解
2018/05/08 Python
Python3中lambda表达式与函数式编程讲解
2019/01/14 Python
Python @property使用方法解析
2019/09/17 Python
python取均匀不重复的随机数方式
2019/11/27 Python
pytorch中nn.Conv1d的用法详解
2019/12/31 Python
全网首秀之Pycharm十大实用技巧(推荐)
2020/04/27 Python
Flask中sqlalchemy模块的实例用法
2020/08/02 Python
化石印度尼西亚在线商店:Fossil Indonesia
2019/03/11 全球购物
出纳员的岗位职责
2014/02/22 职场文书
大学生毕业求职信
2014/06/12 职场文书
无房证明样本
2015/06/17 职场文书
幼儿园中班教学反思
2016/03/03 职场文书
导游词之重庆渣滓洞
2020/01/08 职场文书
Python实现排序方法常见的四种
2021/07/15 Python
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
2021/09/04 SQL Server