首頁  >  文章  >  後端開發  >  如何讓ThinkPHP的模板引擎達到最佳效率的方法介紹

如何讓ThinkPHP的模板引擎達到最佳效率的方法介紹

黄舟
黄舟原創
2017-03-17 09:31:251310瀏覽

這篇文章主要介紹了讓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檔案新增一項設定項:

然後把控制器\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= &#39;网志博客&#39;;
 echo $title;//输出变量
 ?>
</body>
</html>

輸出:

$title=&#39;网志博客&#39;; echo $title;

在模板上把"2b2ce2448fc0812017699c4241f04162"換成453490439c74a929a2834bf146aa58a45c6c8f72abb80ea0f248b656fc7e404b後,結果無法解釋變量,說明不支援453490439c74a929a2834bf146aa58a45c6c8f72abb80ea0f248b656fc7e404b標籤。

2、在範本上直接使用查詢語句

#控制器程式碼同1,範本程式碼如下

<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>使用原生态的php代码</title>
</head>
<body>
 <?php
 $vo=M(&#39;News&#39;)->find();
 echo $vo[&#39;title&#39;];
 ?>
</body>
</html>

輸出:

欢迎使用WBlog博客程序

控制器在一邊待著似乎什麼也沒做,模板上竟然可以這樣寫,實在太靈活了!

3、在範本上呼叫控制器指派的查詢結果

IndexAction.class.php控制器程式碼

<?php class IndexAction extends Action {
 public function index(){
  $vo=M(&#39;News&#39;)->find();
  $this->assign(&#39;vo&#39;, $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[&#39;title&#39;];
 ?>
</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(&#39;abc&#39;);//调用项目\W3note\Common\common.php函数库的加密函数pwdHash()
 ?>
</body>
</html>

輸出:

af10ef457ed637b91955369297b8e640

擯棄了系統預設模板引擎笨拙(相對來講)的標籤語法,函數的呼叫是如此簡單!

總結:在ThinkPHP中使用PHP本身作為模板引擎,可以讓模板引擎的效能達到最佳效率,在模板上需要使用原始生態的php語法,寫法比較活活,但是系統預設模板引擎的模板標籤將會失去作用。


以上是如何讓ThinkPHP的模板引擎達到最佳效率的方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn