国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > ThinkPHP > 正文

ThinkPHP的模板引擎如何才能達到最棒的效率

2024-09-09 15:19:42
字體:
供稿:網(wǎng)友

默認情況下ThinkPHP框架系統(tǒng)默認使用的模板引擎是內(nèi)置模板引擎,內(nèi)置模板引擎支持模板文件中采用php原生態(tài)代碼和模板標(biāo)簽的混合使用.

ThinkPHP官方開發(fā)文檔說,這種默認的內(nèi)置模板引擎的性能是高效的,但還不是最佳的,要使模板引擎的性能達到最佳效率,就要使用PHP本身作為模板引擎.

使用PHP本身作為模板引擎其實很簡單,只需在項目的配置文件Conf/config.php上配置:'TMPL_ENGINE_TYPE' =>'PHP'

采用PHP本身作為模板引擎后,意味著你將不能再使在模板文件上使用系統(tǒng)默認使用的模板引擎的模板標(biāo)簽,你只能使用原生態(tài)的php代碼.

下面將通過實例來演示一下,采用PHP本身作為模板引擎后,如何在模板上操作php代碼.下載wblog3.1.2_3博客程序并安裝并安裝(你也可以自建項目)

首先配置項目W3note/Conf/config.php文件添加一項配置項:

  1. <?php 
  2. return array
  3. ... 
  4. 'TMPL_ENGINE_TYPE' =>'PHP'
  5. ... 
  6. ); 
  7. ?> 

然后把控制器/W3note/Lib/Action/IndexAction.class.php和對應(yīng)模板/W3note/Tpl/Index/index.html的代碼清空以待不同的調(diào)試之用。

好了,基礎(chǔ)工作已經(jīng)做好了,接下來是調(diào)試記錄.

1、在模板上使用php原生態(tài)代碼,IndexAction.class.php控制器代碼:

  1. <?php 
  2. class IndexAction extends Action { 
  3. public function index(){ 
  4. $this->display(); 
  5. ?> 

index.html模板代碼:

  1. <html> 
  2. <head> 
  3. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"
  4. <title>使用原生態(tài)的php代碼</title> 
  5. </head> 
  6. <body> 
  7. <?php 
  8. $title'm.survivalescaperooms.com'
  9. echo $title;//輸出變量 
  10. ?> 
  11. </body> 
  12. </html> 
  13.  
  14. //輸出:m.survivalescaperooms.com 

像原生態(tài)的php代碼一樣,可以在模板上聲明變量并輸出變量,還可以標(biāo)識代碼注釋,不過需要注意的是,必須使用php開始標(biāo)志"<?php",用"<php>不行嗎,為什么?接下來你就知道了.

2、控制器代碼同上面,模板代碼如下:

  1. <html> 
  2. <head> 
  3. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"
  4. <title>使用原生態(tài)的php代碼</title> 
  5. </head> 
  6. <body> 
  7. <php> 
  8. $title='m.survivalescaperooms.com'
  9. echo $title
  10. </php> 
  11. </body> 
  12. </html> 
  13. //輸出:$title='m.survivalescaperooms.com'; echo $title; 

在模板上把"<?php ?>"換成<php></php>后,結(jié)果無法解釋變量,說明不支持<php></php>標(biāo)簽。

3、在模板上直接使用查詢語句,控制器代碼同1,模板代碼如下:

  1. <html> 
  2. <head> 
  3. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"
  4. <title>使用原生態(tài)的php代碼</title> 
  5. </head> 
  6. <body> 
  7. <?php 
  8. $vo=M('News')->find(); 
  9. echo $vo['title']; 
  10. ?> 
  11. </body> 
  12. </html> 
  13. //輸出:歡迎使用WBlog博客程序 

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

4、在模板上調(diào)用控制器分配的查詢結(jié)果,IndexAction.class.php控制器代碼:

  1. <?php 
  2. class IndexAction extends Action { 
  3. public function index(){ 
  4. $vo=M('News')->find(); 
  5. $this->assign('vo'$vo); 
  6. $this->display(); 
  7. ?> 

模板index.html代碼:

  1. <html> 
  2. <head> 
  3. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"
  4. <title>使用原生態(tài)的php代碼</title> 
  5. </head> 
  6. <body> 
  7. <?php 
  8. echo $vo['title']; 
  9. ?> 
  10. </body> 
  11. </html> 
  12. //輸出:歡迎使用WBlog博客程序 

這種情況和系統(tǒng)默認使用的模板引擎時寫法沒什么兩樣.

5、在模板上調(diào)用項目函數(shù)庫的函數(shù),控制器代碼同1,模板代碼如下:

  1. <html> 
  2. <head> 
  3. <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"
  4. <title>使用原生態(tài)的php代碼</title> 
  5. </head> 
  6. <body> 
  7. <?php 
  8. echo pwdHash('abc');//調(diào)用項目/W3note/Common/common.php函數(shù)庫的加密函數(shù)pwdHash() 
  9. ?> 
  10. </body> 
  11. </html> 
  12. //輸出:af10ef457ed637b91955369297b8e640 

擯棄了系統(tǒng)默認模板引擎笨拙(相對來講)的標(biāo)簽語法,函數(shù)的調(diào)用是如此簡單.

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 章丘市| 法库县| 铁岭县| 东城区| 宁强县| 南和县| 北票市| 仙桃市| 通河县| 天水市| 金溪县| 张家川| 衡阳市| 阿拉善盟| 汕尾市| 马尔康县| 汪清县| 卢龙县| 阜平县| 乡城县| 姚安县| 合川市| 兖州市| 方正县| 南召县| 洛川县| 岱山县| 隆安县| 墨江| 万安县| 綦江县| 翁源县| 庆城县| 齐齐哈尔市| 朔州市| 乌兰察布市| 大兴区| 镇江市| 扶沟县| 岚皋县| 固安县|