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

默认情况下ThinkPHP框架系统默认使用的模板引擎是内置模板引擎。内置模板引擎支持模板文件中采用php原生态代码和模板标签的混合使用。
ThinkPHP官方开发文档说,这种默认的内置模板引擎的性能是高效的,但还不是最佳的。要使模板引擎的性能达到最佳效率,就要使用PHP本身作为模板引擎。
使用PHP本身作为模板引擎其实很简单,只需在项目的配置文件Conf/config.php上配置:
‘TMPL_ENGINE_TYPE’=>’PHP’

采用PHP本身作为模板引擎后,意味着你将不能再使在模板文件上使用系统默认使用的模板引擎的模板标签,你只能使用原生态的php代码。
下面将通过实例来演示一下,采用PHP本身作为模板引擎后,如何在模板上操作php代码。

下载wblog3.1.2_3博客程序并安装并安装(你也可以自建项目)
首先配置项目W3noteConfconfig.php文件添加一项配置项:

<?php
return array(
    …
    ‘TMPL_ENGINE_TYPE’ =>’PHP’,
    …
    
);
?>

然后把控制器W3noteLibActionIndexAction.class.php和对应模板W3noteTplIndexindex.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’);//调用项目W3noteCommoncommon.php函数库的加密函数pwdHash()
    ?>
   
</body>
</html>

输出:af10ef457ed637b91955369297b8e640

摈弃了系统默认模板引擎笨拙(相对来讲)的标签语法,函数的调用是如此简单!

总结:在ThinkPHP中使用PHP本身作为模板引擎,可以使模板引擎的性能达到最佳效率,在模板上需要使用原生态的php语法,写法比较活活,但是系统默认模板引擎的模板标签将失去作用。
本文地址:http://w3note.com/web/106.html

波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » 如何让ThinkPHP的模板引擎达到最佳效率

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡