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にもうメロメロです。
Continuing the discussion...
このエントリーのトラックバックURL:
http://hori-uchi.com/mt/trackback/115
