PHP 是最廣泛使用的動態腳本語言之一。開發中最大的課題是如何將頁面表現與商業邏輯分離。大型框架(Zend、CakePHP、CodeIgniter 等)內建解決方案,但中小專案若不想引入重型框架,輕量級模板引擎是最佳選擇。Dwoo 是一款新興、高效能的 PHP 模板引擎,語法簡潔、功能強大,值得學習。
官網 dwoo.org 下載最新版(如 1.1.7),解壓並重命名資料夾為 dwoo。或使用 PEAR 安裝:
pear channel-discover pearhub.org
pear install pearhub/Dwoo
模板檔預設副檔名 .tpl,動態內容以 {$variable} 佔位符標記。範例 tmpl/knock.tpl:
<html>
<head></head>
<body>
<blockquote>
Knock knock!<br/>
Who's there?<br/>
{$name}<br/>
{$name} who?<br/>
{$punchline}
</blockquote>
</body>
</html>
<?php
include 'dwooAutoload.php'; // 自動載入依賴類別
$dwoo = new Dwoo(); // 建立 Dwoo 實例
$tpl = new Dwoo_Template_File('tmpl/knock.tpl'); // 載入模板檔
$data = array();
$data['name'] = 'Boo';
$data['punchline'] = "Don't cry, it's only a joke";
$dwoo->output($tpl, $data); // 輸出渲染結果
?>
dwooAutoload.php 自動載入依賴。Dwoo 核心類別。Dwoo_Template_File 載入模板路徑。output() 將資料合併輸出。下一篇將深入探討 Dwoo 的進階語法:條件判斷、迴圈、模板繼承與自訂外掛。