Flash変数の仕組みを実装してみる

急遽Flash変数の仕組みを実装することにしましたよ。Ruby on Railsやその影響を受けたフレームワーク(Biscuitとか)を見ていると便利そうなので。

  • 新規クラス追加: Moony_Flash
  • アクションクラスの'flash'という名称のインスタンス変数にインジェクションされる
  • 実際の値はセッションに一時格納され、次のアクションが実行されるタイミングで破棄される
class Foo // action class
{
    var $flash;
    function execute()
    {
        // Flash変数から値を取得
        $name = $this->flash->get('name');
        // Flash変数に値を設定
        $this->flash->set('name', $name);
    }
}

これで確認画面とかでhidden項目を使って値を引き回さなくて済むようになったり。