Piece アクションクラス
2/17 の Piece Framework 勉強会のときにちょこっと話をしてたんですが、Piece でアプリケーションを作成する際のアクションクラス内の行為・行動例が程よく上がってきつつあります。
(1) 使用頻度の高い行為
=> ページ描写に利用する変数値の割り当て
$viewElement = &$this->_payload->getViewElement();
$viewElement->setElement('foo', $foo);
という内容。そのページに動的な値(変数値)を当てはめるならば 100% 登場。
(2) 状況に応じて必要とされる行為
=> Request 値の取扱い (Validate 含む)
$validation = &$this->_payload->getValidation();
if (!$validation->validate('Registration', $registrationElement)) {
....
}
という内容。ある状態遷移と共になんらかのリクエストが発生する場合にしなければならない。
(3) 極めて稀だが実行の必要な行為
=> Configuration の動的設定
$config = &$this->_payload->getConfiguration();
$config->setExtension('View', 'renderer', 'Renderer_PHP');
$config->setConfiguration('Renderer_PHP', 'templateDirectory',
'../webapp/templates/Extra'
);
とかの行為。
ただしこんなシーンは基本的に「如何ともし難い理由により動的変更する」というニッチなシチュエーション、つまり「開発者が分かりきった上で任意のタイミングに変更する」ことが殆どなので、どうでもよいっちゃあどうでもよい。
で、これらの処理をサポートするヘルパーを基底クラスを準備するのが分かりやすくて良いですね、というお話。つまりこんな感じ。
(1) ページ描写に利用する変数値の割り当て
$this->_setViewElement('foo', $foo);
拡張的な機能として以下のようなものも準備できそう。
$list = array('foo' => $foo);
$this->_setViewElements($list);
(2) Request 値の取扱い (Validate 含む)
if (!$this->_validate('Registration', $registrationElement)) {
....
}
1 ステップ減る程度。いうほど嬉しくない。
(3) Configuration の動的設定
$this->_setExtension('View', 'renderer', 'Renderer_PHP');
$this->_setConfiguration('Renderer_PHP', 'templateDirectory',
'../webapp/templates/Extra'
);
でもなんとなく変にみえる。このコードだとアクションに対しての setConfiguration みたいに見えるからか。
基本はこれを使うんだ!とか説明できるようになればドキュメントも楽になりそうです。この辺、次もしくは次々リリースくらいで第一弾が同梱されるよう頑張ります。
トラックバック(0)
このブログ記事を参照しているブログ一覧: Piece アクションクラス
このブログ記事に対するトラックバックURL: http://hatotech.org/mt-admin/mt-tb.cgi/644

コメントする