程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP開發必備 一步步學PHP模版引擎Dwoo(1)

PHP開發必備 一步步學PHP模版引擎Dwoo(1)

編輯:關於PHP編程

PHP目前是使用最廣泛的腳本解析動態語言之一。在PHP的開發當中,開發者都很關心的一個問題是,如何最大程度地將頁面和商業邏輯分離。而目前的很多PHP的開發框架,在這方面都有很好的解決方案,比如Zend,Agavi,CakePHP和CodeIgniter。然而,假如你的項目不是太大而沒使用這些框架時,則可以選用一些開源的PHP模版引擎來實現頁面和邏輯的分離,目前比較著名的有Smarty。本文將介紹另一款新興的PHP模版引擎Dwoo,它同樣有很多優點,值得讀者去學習。

一、安裝Dwoo

首先到Dwoo的官方網站下載(http://www.dwoo.org)最新的版本1.1.7。在下載後,解壓dwoo,將解壓目錄命名為dwoo,當然,你也可以用pear的安裝方法安裝,方法為:

pear channel-discover pearhub.org

pear install pearhub/Dwoo

二、Dwoo模版簡介

在Dwoo中,跟象Smarty等模版引擎差不多的是,它允許用戶用普通的HTML編輯工具編輯表現層的頁面,然後在需要產生動態內容的地方用占位符表示。模版引擎在解析的時候,會把如數據庫中的或者業余邏輯計算結果填充到這些占位符中。下面先看一個簡單的例子。

我們先建立一個模版文件,Dwoo的模版文件默認是tpl,當然你也可以改為其他文件後綴。模版文件名為knock.tpl,把它保存在template文件夾中,內容為:

  1. <html> 
  2. <head></head> 
  3. <body> 
  4. <blockquote> 
  5. Knock knock! <br/> 
  6. Who's there? <br/> 
  7. {$name} <br/> 
  8. {$name} who? <br/> 
  9. {$punchline}  
  10. </blockquote> 
  11. </body> 
  12. </html> 

可以看到,在Dwoo中,模版文件中,把需要動態更替的內容用{$ }這樣的形式包裹起來,作為占位符,占位符當中的內容到時會被自動更替為實際的內容。接下來看如何使用Dwoo,代碼如下:

  1. <?php  
  2. include 'dwooAutoload.php';  
  3. // 創建dwoo實例  
  4. $dwoo = new Dwoo();  
  5. //讀取模版文件   
  6. $tpl = new Dwoo_Template_File('tmpl/knock.tpl');  
  7. // 對模版變量賦值  
  8. $data = array();  
  9. $data['name'] = 'Boo';  
  10. $data['punchline'] = 'Don't cry, it's only a joke';  
  11. // 將實際內容輸出到模版  
  12. $dwoo->output($tpl, $data);  
  13. ?> 

下面是使用Dwoo的幾個步驟:

1、首先要包含Dwoo自動裝載類dwooAutoload.php,這個類是自動加載了Dwoo模版所需要的其他依賴的類和工具類;

2、創建Dwoo類的實例;

3、通過new Dwoo_Template_File的方法加載模版,其中的參數為模版文件所在的路徑;

4、設置要向模版文件中輸出的替換內容,在Dwoo中,只需要通過定義一個關聯數組的方法即可,數組中每個元素的名稱跟模版文件中的占位符一一對應,數組中的每個值,就是要替換模版中的實際內容;

5、通過調用output方法,將數據向模版中輸出,傳入的參數為輸出的數組內容和模版路徑。

下圖為輸出結果:


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved