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

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

黄舟
發布: 2023-03-06 17:30:01
原創
1363 人瀏覽過

這篇文章主要介紹了讓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;
登入後複製

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

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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板