SimpleBoxes

Serene Bach 管理画面の構成

管理画面を処理する Admin アプリケーションは、Serene Bach 3 でも中核と言えるアプリケーションです。

その核となるモジュール sb::App::Admin は Serene Bach 3 のアプリケーションモジュール群の中で最も複雑な構造になっています。

[図] Admin アプリケーションの基本フロー

メニュー構築

メニュー構築は主に初期化処理にあたります。有効な管理用プラグインをロードして、メニューを構築する処理が含まれます。

ログイン処理

ログイン処理は基本的に sb::Session というセッション管理用モジュールを使って行なっています。

ページ処理

管理画面はそれぞれのメニューを「ページ」として処理するページドリブン的なアプローチを取っています。

基本的には各メニューごとにモジュールがあり、それぞれのモジュールがページ処理を行ないます。sb::App::Admin では、状況に合わせて適切なモジュールを起動します。

管理画面モジュールの基本コード

管理画面の各モジュールは、処理する内容・出力する内容について、ページ内容のみを考慮すればよい構成になっています。

そのため、プラグインも含め管理画面の個々のモジュールは、それほど複雑な構成にはなっていません。

sub callback
{
  my $self = shift;
  return ( $self->regi() )
    ? $self->_update(@_)
    : $self->_display(@_);
}
sub _update
{
  my $self = shift;
  my $msg = undef;
  # 
  # クライアント (ブラウザ) からの入力を処理する
  # 
  return $self->_display('message'=>$msg);
}
sub _display
{
  my $self = shift;
  my %param = (
    'message' => undef,
    @_
  );
  my $temp = sb::Template->new($self->load_template('file'=>TEMPLATE));
  # 
  # 出力内容を処理する
  # 
  $self->common_parts($temp);
  $self->set_message($temp,$param{'message'});
  return $self->set_main($temp->output);
}

ほとんどの管理画面モジュールは、上述のようなコードを踏襲しています。管理用プラグインも同様です。

関連記事
このエントリーをはてなブックマークに追加

スポンサーリンク

<< Serene Bach フレームワーク :: コマンドプロンプト (cmd) 覚え書き >>