Hatena::Groupasakura

Sledge

Sledge

関連ドキュメント


インストール

 インストールについては、

のインストールができるなら、そんなに問題ない、はず。

 このうち敷居が高そうなのはmod_perlCPANモジュールかな。

 このへんにも詳しいことが書かれているので、そちらを参照のこと。


Overview

  • mod_perl (Apache::Registry) もしくは CGI スクリプトがトリガとなってアプリケーション(Pages)を起動
  • プラグインのロード(任意)
  • Sledge::Pages オブジェクトの生成
  • アプリケーションのConfig初期化
  • HTTPリクエストのパラメータ処理
  • 各Factoryオブジェクトの初期化
  • セッションIDの取得/発行
  • ストレージからのセッションの復元
  • ページにアクセスする権利を認証
  • 文字コードのフィルタリング
  • テンプレートエンジンのロード
  • アプリケーションクラスへのDispatch
    • ここが基本になるようです。
  • テンプレートエンジンの実行
    • テンプレートの書式がどこにもないような。HTML::TemplateとかTemplate-Toolkitのドキュメントを読めってことなんだろうけれど。
  • スティッキーフォームの生成(必要に応じて)
  • 出力コンテンツのフィルタリング
  • サーバにレスポンスを返す

基本

  • プロジェクト名を決める
    • 例えばSampleとか。
  • sledge-setupを実行する
    • これでモジュールの雛形が作られる。
  • Sample::Pagesを継承したクラスを作る。
    • 例えばSample::Pages::Indexとか。
  • Dispatchの作成
    • Sample::Pages::Indexdispatch_indexを作成。
    • 手を抜きたい人はSledge::DispatchQueryをuseしよう。
    • ページオブジェクトに必要なプロパティを追加するコードなどを書く。
  • テンプレートの作成
    • 例えばtemplate/index.htmlとか。
    • ページオブジェクトなどを利用して適当に書く。


ページオブジェクト

 Sledge::Pages::Baseを継承したクラスから生成されるものを僕はこう呼ぶことにした*1。とりあえず。

主なアクセサは以下のとおり:

  • tmpl - テンプレートのオブジェクト、らしい。基本的にはTemplate-Toolkit。HTML::Templateも使えるらしい。
    • param - これでテンプレート用の変数を設定する、らしい。
  • r - いわゆるApacheモジュールの$r(Apache::Requestオブジェクトかな)。たぶん。
  • session - セッションオブジェクト。

*1:どうもそれで正しいらしい。どこかに書いてあった、気がする。

* はてなダイアリーキーワード:Sledge