這篇文章主要介紹了讓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(); } }
<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;
在模板上把""換成
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(); } }
<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的模板引擎達到最佳效率的方法介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!