如何让ThinkPHP的模板引擎达到最佳效率
发布时间:2020-12-14 13:53:29 所属栏目:大数据 来源:网络整理
导读:默认情况下ThinkPHP框架系统默认使用的模板引擎是内置模板引擎。内置模板引擎支持模板文件中采用php原生态代码和模板标签的混合使用。 ThinkPHP官方开发文档说,这种默认的内置模板引擎的性能是高效的,但还不是最佳的。要使模板引擎的性能达到最佳效率,就要
默认情况下ThinkPHP框架系统默认使用的模板引擎是内置模板引擎。内置模板引擎支持模板文件中采用php原生态代码和模板标签的混合使用。 ThinkPHP官方开发文档说,这种默认的内置模板引擎的性能是高效的,但还不是最佳的。要使模板引擎的性能达到最佳效率,就要使用PHP本身作为模板引擎。 使用PHP本身作为模板引擎其实很简单,只需在项目的配置文件Conf/config.php上配置: 'TMPL_ENGINE_TYPE' =>'PHP' 采用PHP本身作为模板引擎后,意味着你将不能再使在模板文件上使用系统默认使用的模板引擎的模板标签,你只能使用原生态的php代码。 下面将通过实例来演示一下,采用PHP本身作为模板引擎后,如何在模板上操作php代码。 下载wblog3.1.2_3博客程序并安装并安装(你也可以自建项目) 首先配置项目W3noteConfconfig.php文件添加一项配置项: <?php 然后把控制器W3noteLibActionIndexAction.class.php和对应模板W3noteTplIndexindex.html的代码清空以待不同的调试之用。return array( ... 'TMPL_ENGINE_TYPE' =>'PHP', ... ); ?> 好了,基础工作已经做好了,接下来是调试记录: 1、在模板上使用php原生态代码 IndexAction.class.php控制器代码 <?php index.html模板代码:class IndexAction extends Action { public function index(){ $this->display(); } } <html> 输出:网志博客<head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>使用原生态的php代码</title> </head> <body> <?php $title= '网志博客'; echo $title;//输出变量 ?> </body> </html> 像原生态的php代码一样,可以在模板上声明变量并输出变量,还可以标识代码注释,不过需要注意的是,必须使用php开始标志"<?php",用"<php>不行吗,为什么?接下来你就知道了。 2、控制器代码同上面,模板代码如下 <html> 输出:$title='网志博客'; echo $title;<head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>使用原生态的php代码</title> </head> <body> <php> $title='网志博客'; echo $title; </php> </body> </html> 在模板上把"<?php ?>"换成<php></php>后,结果无法解释变量,说明不支持<php></php>标签。 3、在模板上直接使用查询语句 控制器代码同1,模板代码如下 <html> 输出:欢迎使用WBlog博客程序<head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>使用原生态的php代码</title> </head> <body> <?php $vo=M('News')->find(); echo $vo['title']; ?> </body> </html> 控制器在一边呆着似乎什么也没做,模板上竟然可以这样写,实在太灵活了! 4、在模板上调用控制器分配的查询结果 IndexAction.class.php控制器代码 <?php 模板index.html代码class IndexAction extends Action { public function index(){ $vo=M('News')->find(); $this->assign('vo', $vo); $this->display(); } } <html> 输出:欢迎使用WBlog博客程序<head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>使用原生态的php代码</title> </head> <body> <?php echo $vo['title']; ?> </body> </html> 这种情况和系统默认使用的模板引擎时写法没什么两样。 5、在模板上调用项目函数库的函数 控制器代码同1,模板代码如下 <html> 输出:af10ef457ed637b91955369297b8e640<head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>使用原生态的php代码</title> </head> <body> <?php echo pwdHash('abc');//调用项目W3noteCommoncommon.php函数库的加密函数pwdHash() ?> </body> </html> 摈弃了系统默认模板引擎笨拙(相对来讲)的标签语法,函数的调用是如此简单! 总结:在ThinkPHP中使用PHP本身作为模板引擎,可以使模板引擎的性能达到最佳效率,在模板上需要使用原生态的php语法,写法比较活活,但是系统默认模板引擎的模板标签将失去作用。 本文地址:http://w3note.com/web/106.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |