form.php
【環境】
[CakePHP] 1.3.8
[CakePHP] 1.3.8
string $fieldName
第1引数に string $fieldName なるものがある。
これは、その名の如くフィールド名を表す文字列を記述するのが基本。
どういうことかというと、モデル->コントローラ->ビュー と繋がっている場合
モデルのフィールド名をここに設定することで
恩恵を受ける。
(ヴァリデーション等もしてくれるようだが、定かでない)
- // 規定通りならばフィールド名を指定するだけ
- echo $form->input('fieldname');
- // 手動でモデル名を指定することも可能
- echo $form->input('Modelname.fieldname');
- // もちろん、モデルと無関係の独立名を指定し一般フォームとして利用可能
- echo $form->input('hoge');
$options
全然覚えられない $options 。
一覧を紹介しているサイトをめっけたのでメモ。
Garacter:フォームの部品 $optionsで指定できる内容
書式の差異
フォーム関連を Web 検索していると
- $form->select('page');
- $form->input('page', array('type'=>'select'));
- $html->input('page', array('type'=>'select'));
同じフォーム部品を表示するのに
上記3種を見かける。
なんだろうとずっと思っていたが
調べてみたら
$form->select
- $form->select('page');
- <select name="data[page]" id="page">
- <option value=""></option>
- </select>
$form->input
- $form->input('page', array('type'=>'select'));
- <div class="input select"><label for="page">Page</label><select name="data[page]" id="page">
- </select></div>
(コードの改行については、自動生成されたままを記載した)
と、どうやら div や label タグを自動付加してくれるか否かの差らしい。
以前のヴァージョンでは、div 等のタグを付加するか否かを設定したようだけど
現在のヴァージョンでは、この2つを用途に応じて使い分ければよい感じ。
他の差異が判明したら追記する。
$html->input
- $html->input('page', array('type'=>'select'));
- Method HtmlHelper::input does not exist [CORE\cake\libs\view\helper.php, line 154]
こちらは、どうやら旧ヴァージョンの書式らしい。