TOP設計・移行・活用> ビジネスロジックの作成
SledgeによるWebアプリケーションフレームワーク入門
SledgeによるWebアプリケーションフレームワーク入門

第4回:テンプレート管理
著者:ライブドア  栗原 由樹   2005/7/6
前のページ  1  2  3  4
ビジネスロジックの作成

   ビジネスロジックは以下のようになります。基本的には$self->tmpl->param()という関数を使って値を渡していくことで、テンプレート側でその値を参照することができます。
package ThinIT::Pages::TT;
use strict;
use base qw(ThinkIT::Pages);

__PACKAGE__->tmpl_dirname('tt');

sub dispatch_index {
    my $self = shift;

    # ユーザ名設定
    my $user = { name => '栗原' };
    $self->tmpl->param(user => $user);

    # これまでの連載一覧(タイトルと作者)
    my $series = [
        { title => 'Webアプリケーションフレームワークとは', author => '栗原 由樹' },
        { title => 'セッション管理', author => '谷口 公一' },
        { title => '認証', author => '池邉 智洋' },
    ];     $self->tmpl->param(series => $series);
}
生成されたHTMLコード

   上記のテンプレートとビジネスロジックから生成されたHTMLコードは以下のようになります。テンプレートで[% … %]となっていた部分が、ビジネスロジックで設定した値に置き換わっていることがわかると思います。

<html>
<head>
<title>サンプルアプリケーション</title>
</head>
<body>
<h1>ようこそ、栗原さん!</h1>

これまでの連載一覧(タイトルと作者)
<ul>
<li>Webアプリケーションフレームワークとは 栗原 由樹</li>
<li>セッション管理 谷口 公一</li>
<li>認証 池邉 智洋</li>
</ul>

<hr>
Copyright (c)2004-2005 ThinkIT Corporation, an Impress Group company. All rights reserved.
</body>
</html>

   作成したWebアプリケーションのすべてのページでこのヘッダとフッタを使用していて、その部分に修正が入った場合でも、このヘッダ・フッタのパーツを記述したファイルを修正するだけで全ページのヘッダ・フッタが修正されるというイメージが掴めましたでしょうか。


まとめ

   Sledgeでのテンプレート管理について解説をしましたが、いかがでしょうか。

   テンプレート管理をうまく利用すると、ビジネスロジック側で余計な処理を排除することができ、実装はシンプルなものとなります。またHTMLコード側もシンプルに管理を行なうことができるようになります。そのため運用という面から見てもテンプレート管理は有用な機能のひとつとなります。

   ただ便利な半面ユーザに最も近い部分でもあるので、認証部分と同様にセキュリティホールになる可能性が高い部分でもあります。その点で実装には十分注意を払う必要があるでしょう。

前のページ  1  2  3  4


株式会社ライブドア 栗原 由樹
著者プロフィール
株式会社ライブドア  栗原 由樹
ライブドアが現在の社名になる前の旧オン・ザ・エッヂ時代に同社の技術力に憧れ入社。そこでオープンソースを用いた数多くのWebアプリケーション開発を経験。現在はコンサルティング事業部にて、同社の業務としてはあまり知られていない受託開発を行なう傍ら、オープンソースへの貢献について考える日々を送っている。


INDEX
第4回:テンプレート管理
  はじめに
  テンプレート管理で楽をしよう
  Sledgeでの実装
ビジネスロジックの作成