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的FTP学习(二)
Oct 09 PHP
Apache环境下PHP利用HTTP缓存协议原理解析及应用分析
Feb 16 PHP
用PHP获取Google AJAX Search API 数据的代码
Mar 12 PHP
PHP 图片水印类代码
Aug 27 PHP
避免Smarty与CSS语法冲突的方法
Mar 02 PHP
php实现购物车功能(上)
Jul 23 PHP
深入浅析php中sprintf与printf函数的用法及区别
Jan 08 PHP
Zend Framework教程之模型Model用法简单实例
Mar 04 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
Apr 07 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
php实现小程序支付完整版
Oct 09 PHP
PHP经典设计模式之依赖注入定义与用法详解
May 21 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语法(3)
2006/10/09 PHP
图书管理程序(一)
2006/10/09 PHP
我的论坛源代码(六)
2006/10/09 PHP
黑夜路人出的几道php笔试题
2009/08/04 PHP
php判断上传的Excel文件中是否有图片及PHPExcel库认识
2013/01/11 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
2019/03/18 PHP
$.ajax返回的JSON无法执行success的解决方法
2011/09/09 Javascript
JavaScript检测上传文件大小的方法
2015/07/22 Javascript
详解JavaScript中的4种类型识别方法
2015/09/14 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
ionic cordova一次上传多张图片(类似input file提交表单)的实现方法
2016/12/16 Javascript
微信小程序实战之运维小项目
2017/01/17 Javascript
利用HBuilder打包前端开发webapp为apk的方法
2017/11/13 Javascript
vuejs实现ready函数加载完之后执行某个函数的方法
2018/08/31 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
vue登录页实现使用cookie记住7天密码功能的方法
2021/02/18 Vue.js
Python中的元类编程入门指引
2015/04/15 Python
Python DataFrame设置/更改列表字段/元素类型的方法
2018/06/09 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
APIStar:一个专为Python3设计的API框架
2018/09/26 Python
深入了解Python iter() 方法的用法
2019/07/11 Python
python爬虫爬取图片的简单代码
2021/01/18 Python
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
丝芙兰墨西哥官网:Sephora墨西哥
2020/05/30 全球购物
简单说说tomcat的配置
2013/05/28 面试题
介绍一下linux的文件系统
2015/10/06 面试题
DELPHI中如何调用API,可举例说明
2014/01/16 面试题
优秀员工年终发言演讲稿
2014/01/01 职场文书
酒店营销策划方案
2014/02/07 职场文书
老公保证书范文
2014/04/29 职场文书
增员口号大全
2014/06/18 职场文书
税务职业生涯规划书范文
2014/09/16 职场文书
2016年情人节问候语
2015/11/11 职场文书
中学音乐课教学反思
2016/02/18 职场文书
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python
JS开发前端团队展示控制器来为成员引流
2022/08/14 Javascript