如何讓ThinkPHP的模板引擎達到最佳效率

2022-04-06 15:32:47 字數 1604 閱讀 9714

預設情況下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', ... ); ?>

複製**

然後把控制器\w3note\lib\action\indexaction.class.php和對應模板\w3note\tpl\index\index.html的**清空以待不同的除錯之用。

好了,基礎工作已經做好了,接下來是除錯記錄:

1、在模板上使用php原生態**

indexaction.class.php控制器** display(); } }

複製**

index.html模板**:

複製**

輸出:網誌部落格

像原生態的php**一樣,可以在模板上宣告變數並輸出變數,還可以標識**注釋,不過需要注意的是,必須使用php開始標誌"不行嗎,為什麼?接下來你就知道了。

2、控制器**同上面,模板**如下

$title='網誌部落格'; echo$title;

複製**

輸出:$title='網誌部落格'; echo $title;

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

3、在模板上直接使用查詢語句

控制器**同1,模板**如下

find(); echo$vo['title']; ?>

複製**

輸出:歡迎使用wblog部落格程式

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

4、在模板上呼叫控制器分配的查詢結果

indexaction.class.php控制器** find(); $this->assign('vo',$vo); $this->display(); } }

複製**

模板index.html**

複製**

輸出:歡迎使用wblog部落格程式

這種情況和系統預設使用的模板引擎時寫法沒什麼兩樣。

5、在模板上呼叫專案函式庫的函式

控制器**同1,模板**如下

複製**

輸出:af10ef457ed637b91955369297b8e640

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

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

ThinkPHP在Cli模式下使用模板引擎的方法

關於cli模式與模版引擎,2.1中的www.cppcns.com手冊是這樣說明的 cli模式預設不使用任何模板引擎 可以自己在操作方法裡面呼叫 但是怎麼呼叫,手冊中沒有提到。於是自己動手豐衣足食。在介紹怎麼呼叫之前,簡單的說說什麼情www.cppcns.com況可能需要用到模組引擎 1.利用domp...

thinkphp5實戰系列 二 前台模板的引入

1 前台模板的引入 在建立好的index模組下的controller控制器裡新建乙個index.php控制器,在裡面寫上引入模板的 2 css js檔案的引入 在前台模板成功引入後,我們發現雖然頁面成功載入了,但樣式並沒有載入,網頁載入不完全,這時候我們就需要引入網頁的樣式檔案了。網頁樣式檔案儲存在...

Express框架中如何引用ejs模板引擎

1.如何在專案中安裝ejs模板引擎 express t ejs microblog 執行這個命令後繼續執行 cd microblog npm install 安裝專案的依賴屬性 發現安裝的模板引擎是jade,而不是ejs。原因是現在的版本已經沒有 t這個命令了,改為 express e microb...