• 专注于网站建设,网络推广,关键词优化,SEO优化,专业的网站建设开发团队!
首页 > IT技术 > PHP > 内容

如何让ThinkPHP的模板引擎达到最佳效率

2015-06-10 21:39:36   来源:叶景网络

默认情况下ThinkPHP框架系统默认使用的模板引擎是内置模板引擎。内置模板引擎支持模板文件中采用php原生态代码和模板标签的混合使用。
ThinkPHP官方开发文档说,这种默认的内置模板引擎的性能是高效的,但还不是最佳的。要使模板引擎的性能达到最佳效率,就要使用PHP本身作为模板引擎。
使用PHP本身作为模板引擎其实很简单,只需在项目的配置文件Conf/config.php上配置:
'TMPL_ENGINE_TYPE' =>'PHP'
采用PHP本身作为模板引擎后,意味着你将不能再使在模板文件上使用系统默认使用的模板引擎的模板标    签,你只能使用原生态的php代码。
下面将通过实例来演示一下,采用PHP本身作为模板引擎后,如何在模板上操作php代码。
下载wblog3.1.2_3博客程序并安装(你也可以自建项目)
首先配置项目W3note\Conf\config.php文件添加一项配置项:
<?php
return array(
    ...
    'TMPL_ENGINE_TYPE' =>'PHP',
    ...
);
?>
然后把控制器\W3note\Lib\Action\IndexAction.class.php和对应模板\W3note\Tpl\Index\index.html的

代码清空以待不同的调试之用。
好了,基础工作已经做好了,接下来是调试记录:

1、在模板上使用php原生态代码
IndexAction.class.php控制器代码
<?php
class IndexAction extends Action {
    public function index(){
        $this->display();
    }
}
index.html模板代码:
<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>
    <head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>使用原生态的php代码</title>
   </head>
  <body>
    <php>
    $title='博客';
    echo $title;
    </php>
</body>
</html>
输出:$title='网志博客'; echo $title;
在模板上把"<?php ?>"换成<php></php>后,结果无法解释变量,说明不支持<php></php>标签。
3、在模板上直接使用查询语句
控制器代码同1,模板代码如下
<html>
<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>
输出:欢迎使用WBlog博客程序
控制器在一边呆着似乎什么也没做,模板上竟然可以这样写,实在太灵活了!
4、在模板上调用控制器分配的查询结果
IndexAction.class.php控制器代码
<?php
class IndexAction extends Action {
    public function index(){
        $vo=M('News')->find();
        $this->assign('vo', $vo);
        $this->display();
    }
}
模板index.html代码
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>使用原生态的php代码</title>
</head>
<body>
    <?php
    echo $vo['title'];
    ?>
</body>
</html>
输出:欢迎使用WBlog博客程序
这种情况和系统默认使用的模板引擎时写法没什么两样。
5、在模板上调用项目函数库的函数
控制器代码同1,模板代码如下
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>使用原生态的php代码</title>
</head>
<body>
    <?php
    echo pwdHash('abc');//调用项目\W3note\Common\common.php函数库的加密函数pwdHash()
    ?>
</body>
</html>
输出:af10ef457ed637b91955369297b8e640
摈弃了系统默认模板引擎笨拙(相对来讲)的标签语法,函数的调用是如此简单!
总结:在ThinkPHP中使用PHP本身作为模板引擎,可以使模板引擎的性能达到最佳效率,在模板上需要使    用原生态的php语法,写法比较活活,但是系统默认模板引擎的模板标签将失去作用。

叶景网络,网络推广,网站建设
特别推荐RECOMMEND
搜索引擎网站关键词seo优化的意义
视频推广怎么做
网站seo优化怎么做关键词排上首页?
SEO介绍什么叫搜索引擎网站关键词优化
seo优化怎样做提升关键词排名
热点图文Hot
PHP通过soap调用.net接口asmx文件 PHP通过soap调用.ne
PHP开发环境配置 PHP开发环境配置
wamp集成环境的虚拟域名配置方法 wamp集成环境的虚拟
wamp独立安装配置 wamp独立安装配置
关注排行RANKING
1

PHP通过soap调用.net接口asmx文件

PHP通过soap调用.net接口asmx文件 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网...

2

PHP开发环境配置

PHP开发环境配置 下载PHP安装程序,并解压缩。(下载页面为http: www php net downloads php,下...

3

wamp集成环境的虚拟域名配置方法

wamp集成环境的虚拟域名配置方法 最近,发现身边很多人用wamp集成环境,这个虽然比较快捷,一步到位,但是只能访...

4

wamp独立安装配置

wamp独立安装配置 apache 中的 httpd conf LoadModule php5_module "D: lamp php5 php5apache2_2 dll " 加载模块并开启

5

php 获取今天明天昨天时间戳

php 获取今天明天昨天时间戳 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网...

6

PHP获取服务器信息 MySql版本和浏览器信息

PHP获取服务器信息 MySql版本和浏览器信息 1、$_SESSION[ PHP_SELF ] -- 获取当前正在执行脚本的文件名 2...

7

smarty 截取字符串函数 truncate的用法

smarty 截取字符串函数 truncate的用法 smarty truncate 截取字符串,从字符串开始处截取某长度的字符,默认的长度为8...

8

php编程常用函数方法等

php编程常用函数方法等 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网站...

9

如何让ThinkPHP的模板引擎达到最佳效率

如何让ThinkPHP的模板引擎达到最佳效率 默认情况下ThinkPHP框架系统默认使用的模板引擎是内置模板引擎。内置模板引擎支持模板文...