まとめ ブログ ダウンロード 掲示板 メール

れぶろぐ

< 2006-06-10 (土) 2006-06-13 (火) > 最新


2006-06-11 (日)

ActionForm の使い方メモ

ActionForm に値を格納するメソッドは以下の3種類。

  • setApp()
  • setAppNE()
  • set()

それぞれテンプレート中では以下のように使われる。

メソッドテンプレートでの値の取得方法値のエスケープ
setApp() {$app.〜} される
setAppNE(){$app_ne.〜}されない
set() {$form.〜} される

さて、これらをどう使い分ければよいのか? 一言で言うと、単なる表示の場合は setApp()、 フォームの値の場合は set() という感じだと思うが、 いくつかの例を箇条書きにしてみる。

set() を使うケース

  • フォームに初期値を設定する場合

フォーム画面でデータの編集をするような場合、 Validation に引っかかり再びその画面に戻ってくる場合を考えると、 テンプレートでは {$form.〜} として値を参照しなければならない。 よって、初期値を ActionForm に渡す際にも、 それに合わせて set() を使う。

setApp() を使うケース

  • セレクトボックス用の配列を渡す場合

例えば、何月なのかを選んでもらうために、

$months = range(1, 12);
$this->af->setApp('months', $months);

のような配列をセットする場合。 フォームだから set() を使うのかと一瞬考えたりしたが、 値を表示するだけで書き換えるわけではないので、 setApp() を使うのが適切。

setAppNE() を使うケース

  • HTML タグとして解釈したい文字列を含んでいる場合

例えば、Topic Path を表示するための HTML を PHP スクリプト中で組み立てておいて、 それをテンプレートに渡す場合とか。

このエントリの続き: 2006-06-13 (火)
Tags: Ethna | このエントリを含む del.icio.us | このエントリを含むはてなブックマーク | このエントリを含む livedoor クリップ | Permalink
本日のリンク元

編集