让ThinkPHP的模板引擎达到最佳效率的方法详解

 更新时间:2017年03月14日 11:28:42   作者:chinalorin  
这篇文章主要介绍了让ThinkPHP的模板引擎达到最佳效率的方法,结合实例形式较为详细的分析了thinkPHP模板引擎的使用方法与使用原生态php语法的效率问题,需要的朋友可以参考下

本文分析了让ThinkPHP的模板引擎达到最佳效率的方法。分享给大家供大家参考,具体如下:

默认情况下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>

输出:

$title='网志博客'; echo $title;

在模板上把"<?php ?>"换成<php></php>后,结果无法解释变量,说明不支持<php></php>标签。

2、在模板上直接使用查询语句

控制器代码同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博客程序

控制器在一边呆着似乎什么也没做,模板上竟然可以这样写,实在太灵活了!

3、在模板上调用控制器分配的查询结果

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博客程序

这种情况和系统默认使用的模板引擎时写法没什么两样。

4、在模板上调用项目函数库的函数

控制器代码同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语法,写法比较活活,但是系统默认模板引擎的模板标签将失去作用。

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

相关文章

  • PHP执行批量mysql语句的解决方法

    PHP执行批量mysql语句的解决方法

    本篇文章介绍了,PHP执行批量mysql语句的解决方法,文中列举示例说明。需要的朋友参考下
    2013-05-05
  • php生成二维码图片方法汇总

    php生成二维码图片方法汇总

    本文给大家汇总介绍了2种php生成二维码图片的方法,一个是利用谷歌api一个是实用phpqrcode类库,都非常方便,有需要的小伙伴可以参考下
    2016-12-12
  • 关于Curl在Swoole协程中的解决方案详析

    关于Curl在Swoole协程中的解决方案详析

    这篇文章主要给大家介绍了关于Curl在Swoole协程中的解决方案,文中通过示例代码介绍的非常详细,对大家学习或者使用Swoole具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • Laravel如何友好的修改.env配置文件详解

    Laravel如何友好的修改.env配置文件详解

    使用laravel框架开发PHP程序,配置框架的.env文件是至关重要的,这个文件上需要配置数据库、数据库用户以及缓存等。下面这篇文章主要给大家介绍了Laravel如何友好的修改.env配置文件的相关资料,需要的朋友可以参考下。
    2017-06-06
  • 不使用php api函数实现数组的交换排序示例

    不使用php api函数实现数组的交换排序示例

    这篇文章主要介绍了不使用php api函数实现数组的交换排序示例,需要的朋友可以参考下
    2014-04-04
  • AJAX PHP无刷新form表单提交的简单实现(推荐)

    AJAX PHP无刷新form表单提交的简单实现(推荐)

    下面小编就为大家带来一篇AJAX PHP无刷新form表单提交的简单实现(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • 自编函数解决pathinfo()函数处理中文问题

    自编函数解决pathinfo()函数处理中文问题

    本文主要介绍了小编在使用pathinfo()函数处理中文文件名时遇到的一个小BUG的处理方式,有相同问题的童鞋们可以参考下
    2014-11-11
  • thinkPHP模板算术运算相关函数用法分析

    thinkPHP模板算术运算相关函数用法分析

    这篇文章主要介绍了thinkPHP模板算术运算相关函数用法,结合简单实例形式分析了thinkPHP关于算数运算与参数传递的相关技巧,需要的朋友可以参考下
    2016-07-07
  • PHP那些琐碎的知识点(整理)

    PHP那些琐碎的知识点(整理)

    今天小编给大家分享php那些琐碎的知识点,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-05-05
  • ThinkPHP中图片按比例切割的代码实例

    ThinkPHP中图片按比例切割的代码实例

    今天小编就为大家分享一篇关于ThinkPHP中图片按比例切割的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03

最新评论