Perlを中心とした技術系の話などをつらつら

2004年02月23日

Template::Toolkitのフィルター機能に感動

Perlのテンプレートエンジンとして有名なものと言えばHTML::TemplateとTemplate::Toolkitがあげられると思いますが、最初に覚えたのがHTML::Templateだったこともあり、今まではそれを使っていました。HTML::Templateはテンプレートからロジックを一切省いたことにより、非常にお手軽に利用できるのですが、ロジックを省いたが故にビュー側で完結してほしい処理(改行コードを<BR>に変換するとかHTMLタグのエスケープとか)をロジックに書かないとといけません。これでは美しいコードは書けない(笑)ということで、より柔軟なテンプレートエンジン、Template::Toolkitを使ってみました。

Template::Toolkitにはフィルター機能がついてまして、これを使うと、改行コードを<BR>に変換しろ、とかHTMLタグのエスケープしろという命令をテンプレートに記述できます。フィルター機能についてはTemplate Toolkit Manual: Filtersに詳しく書いてありますが、例えば、

[% foo | html %]
でfooの中身のHTMLタグをエスケープして出力してくれますし、
[% bar  | html_line_break %]
でbarの中身の改行コードを<BR />に変換して出力してくれます。他にもurlとかtruncateといったフィルターも使えそうです。恐ろしく便利で多機能なTemplate::Toolkitにもうメロメロです。

Technorati TAGTechnorati TAG

Posted by horiuchi at 2004年02月23日 02:02

Continuing the discussion...

このエントリーのトラックバックURL:
http://hori-uchi.com/mt/trackback/115

Comments

Post a comment




Remember personal info?