ThinkPHP3.1新特性之内容解析输出详解
以往版本的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方法后,可以把模板放数据库中,对于模板的管理和更新也更加方便了。
相关推荐
-
ThinkPHP模板范围判断输出In标签与Range标签用法详解
ThinkPHP模板的in标签与range标签用于判断某个模板变量是否在某个范围之内. 1.in标签 ThinkPHP的in标签用于某个模板变量是否在某个范围之内,使用格式如下: <in name="变量名" value="值1,值2,...">要输出的内容</in> 使用时,在模块操作(如 Index/display )里设定变量并赋值给模板: $groupId = 1; $this->assign( "groupId&qu
-
ThinkPHP模版引擎之变量输出详解
本文实例分析了ThinkPHP模版引擎中变量输出的用法.分享给大家供大家参考.具体分析如下: 我们已经知道了在Action中使用assign方法可以给模板变量赋值,赋值后怎么在模板文件中输出变量的值呢? 如果我们在Action中赋值了一个name模板变量: 复制代码 代码如下: $name = 'ThinkPHP'; $this->assign('name',$name); 使用内置的模板引擎输出变量,只需要在模版文件使用: {$name} 模板编译后的结果就是 复制代码 代码如下: <?ph
-
ThinkPHP模板之变量输出、自定义函数与判断语句用法
本文实例讲述了ThinkPHP模板之变量输出.自定义函数与判断语句用法.主要包括变量输出.自定义函数与判断语句三种用法.分享给大家供大家参考.具体分析如下: 模板操作变量输出: 快捷输出变量 复制代码 代码如下: {:function(-)} //执行方法并输出返回值 {~function} //执行方法不输出 {@var} //输出Session变量 {#var} //输出Cookie变量 {&var} //输出配置参数 {%var} //输出语言变量 {.var} //输出GET变量 {^
-
ThinkPHP模板判断输出Present标签用法详解
ThinkPHP模板的present标签用于判断模板变量是否已经赋值. ThinkPHP模板引擎的present标签用来判断模板变量是否已经赋值,其功能相当于PHP中的isset()函数行为,格式如下: <present name="变量名">要输出的内容</present> 用法举例如下: <present name="username">{$username} 你好!</present> 该例子等同于: if(is
-
ThinkPHP模板输出display用法分析
本文实例分析了ThinkPHP模板输出display用法.分享给大家供大家参考.具体分析如下: 模板变量赋值后就需要调用模板文件来输出相关的变量,模板调用通过display方法来实现,我们在操作方法的最后使用: 复制代码 代码如下: $this->display(); 就可以输出模板,根据前面的模板定义规则,因为系统会按照默认规则自动定位模板文件,所以通常display方法无需带任何参数即可输出对应的模板,这是模板输出的最简单的用法. 事情总有特例,或者根本不需要按模块进行分目录存放,不过dis
-
thinkphp模板用法和内容输出实例
本文实例讲述了thinkphp模板用法和内容输出.分享给大家供大家参考.具体分析如下: 一.模板的用法 a.规则 模板文件夹下[TPL] /与模块名同名的文件夹[Index]/ 与方法名同名的文件[index].html(.tpl) 模板文件夹下[TPL]/[分组文件夹/] /与模块名同名的文件夹[Index]/与方法名同名的文件[index].html(.tpl) 模板文件夹下[TPL]/[分组文件夹/][模板主题文件夹/] /与模块名同名的文件夹[Index]/与方法名同名的
-
thinkphp模板输出技巧汇总
本文实例总结了thinkphp模板输出技巧.分享给大家供大家参考.具体总结如下: 一.变量输出(重点) 1.标量输出: 复制代码 代码如下: {$name} 2.数组输出 复制代码 代码如下: {$name[0]} {$name['k2']} {$name.k1} 3.对象输出 复制代码 代码如下: {$name:k}//调用这个对象的成员属性K {$name->k}//传统调用K方法 二.系统变量 复制代码 代码如下: {$Think.get.id}//在模板中调用系统变量,得到提供的i
-
ThinkPHP模板判断输出Empty标签用法详解
ThinkPHP模板的empty标签用于判断模板变量是否为空值. ThinkPHP模板empty标签用来判断模板变量是否为空值,其功能相当于PHP中的empty()函数行为.empty标签使用格式如下: <empty name="变量名">要输出的内容</empty> 具体用法如下例所示: <empty name="username">username 为空值</empty 该例子等同于: <?php if(empty
-
ThinkPHP模板判断输出Defined标签用法详解
ThinkPHP模板引擎的defined标签用于判断常量是否已经被定义. ThinkPHP的defined标签用来判断常量是否已经被定义,其功能相当于PHP中的defined()函数.defined标签用法如下: <present name="常量">要输出的内容</present> 先在模块操作(如:Index/display )里定义一个常量并输出模板: define("SITE_NAME", "我们"); $this
-
浅析ThinkPHP的模板输出功能
ThinkPHP中的每一个xxxAction.class.php文件就代表着一个应用模块,这个Action中的每一个方法(function)代表着一个操作,操作可以分为有输出到模板的操作和只具执行不需要输出的操作. 打开Myapp/Lib/Action/IndexAction.class.php文件,我们可以看到里面的基础代码: class IndexAction extends Action{ public function index(){ } } 对此,需要指出一下几点: 1.在Think
随机推荐
- Swift实现可自定义分页宽度的UIScrollView
- JavaScript中使用document.write向页面输出内容实例
- Ruby中的Hash哈希类型基本操作方法小结
- 关于MYSQL中每个用户取1条记录的三种写法(group by xxx)
- 文本框input聚焦失焦样式实现代码
- Python有序字典简单实现方法示例
- 举例讲解Python设计模式编程中对抽象工厂模式的运用
- Eclipse内置浏览器打开方法
- 浅谈jsp EL表达式取值过程、page和pagecontext的区别
- Android应用中实现手势控制图片缩放的完全攻略
- Android二维码的生成与扫码-zxing示例代码
- MYSQL explain 执行计划
- 页面图片浮动左右滑动效果的简单实现案例
- 基于javascript实现彩票随机数生成(升级版)
- jQuery绑定事件on()与弹窗的简要概述
- Ip安全策略批处理脚本及注释(netsh)
- Serv-U 安全设置图文教程
- Java里volatile关键字是什么意思
- 用c语言实现冒泡排序,选择排序,快速排序
- PHP开发之用微信远程遥控服务器