2009年2月12日 星期四

Jifty app 之後?- 使用 Template::Declare

在 Jifty 如果要使用 Template::Declare 來作為 View 的 Render 而不是 Jifty 所預設的 Mason 的話,需要以下步驟。

編輯 etc/config.yml
修改 TemplateClass 為 MyApp::View

接著在 lib/MyApp/View.pm 繼承 Jifty::View::Declare , 如下
use Jifty::View::Declare -base;
use Jifty::View::Declare::Helpers;

template '/index.html' => page {

# insert template::declare here
show 'something';
};

private template 'something' => sub {
# sub template
};
這樣就會取代原本預設的可愛小馬,顯示你的 "index.html" 樣板。會喜歡 Template::Declare 的原因在於,可以很有組織性的將樣板模組化,分為許多細部區塊,並且重複利用。在語法上的優點則是不需要浪費氣力輸入許多的角括號,Tag 間要插入程式碼也不需另外處理,整個程式結構也比較清晰。

也因此我越來越看不慣 php ,太過累贅。

其餘資訊可參考 CPAN.

Template::Declare
Jifty::View::Declare