最終更新: 2006-12-03 (日) 21:09:21
このページをDeliciousに追加 このページをはてなブックマークに追加 このページをlivedoor クリップに追加 このページをYahoo!ブックマークに追加

アクションフォームの使い方

目次

3種類のメソッド

アクションフォームに値を格納するメソッドは以下の3種類。

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

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

set() を使うケース

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

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

setApp() を使うケース

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

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

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

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

setAppNE() を使うケース

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

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


(Counter:1, Today:1, Yesterday:0)
トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   最終更新のRSS