元に戻った

Moony次期バージョンですが、結局今までとほぼ同じインタフェースになりそう。

アクションクラス:

class Foo
{
    function initialize()
    {
        // 初期化処理を記述
    }

    function filter(&$f)
    {
        // リクエストパラメータの変換処理を記述
        $f->setHiragana('furigana');
    }

    function validate(&$v)
    {
        // リクエストパラメータの検証処理を記述
        $v->setInput('Input.php');
        $v->setRequired('name', '名前は必ず入力してください');
        $v->setHiragana('furigana', 'ふりがなは平仮名で入力してください');
    }

    function execute(&$req, &$res, &$session)
    {
        // 主処理を記述

        // 入力パラメータ取得
        $name = $req->get('name', '値がない場合のデフォルト値');
        $furigana = $req->get('furigana');

        // セッションのフラッシュ領域(次のアクションまで有効)に保存
        $session->setFlash('name', $name);

        // テンプレートに値を設定、表示
        $res->set('name', $name);
        $res->set('furigana', $furigana);
        $res->render();
    }
}

いずれのメソッドも、存在しない場合は何も処理されない。