フォームAPIの始まり
1.フォームAPIとは
配列を作成して、エンジンにHTMLを出力させる機能
2.フォーム処理について
①処理の初期化
3つの変数。
・$form_id :フォームを識別するID
・$form :構造配列
・$form_state:フォームに関する情報
→$form_stateを初期化することから処理が始まる。
②トークンの設定
drupal_private_keyに基づいた擬似乱数のトークンが、
フォームの隠しフィールドに送られる。
③IDの設定
フォームを定義する関数と一致して、drupal_get_formの1番目の
パラメータとして送られる。
④すべてのフォーム要素定義の収集
_element_infoがコールされる。
独自の要素タイプを定義したい際に使われる。
hook_elementsを実装するすべてのモジュールでそれをコールする。
_element_infoはすべてのフォーム要素のすべてのデフォルトプロパティを
収集して、ローカルキャッシュでそれらを保持する。
⑤検証関数の検出
$form['#validate']プロパティにフォームの検証を処理する関数の名前を
値に持つ配列を割り当てる。
⑥サブミット関数の検出
$form['#submit']プロパティにサブミットを処理する関数の名前を値に持つ
配列を割り当てる。
⑦モジュール構築前のフォーム変更
方法は二つ
・フォームIDに_alterをつけた名前の関数を実装する
・hook_form_alterを実装する
⑧フォーム構築
form_builderにより、標準的な必須の値が加えられる。
⑨フォーム構築後の変更
フォーム全体が構築された際、$form['after_build']に関数名が定義される任意の
関数がコールされる。
⑩フォームがサブミット済みか否か
分岐点
・フォームがはじめてサブミットされる際は、
HTML作成が始まる
・フォームがすでにサブミットされている際は、
フォームに入力されたデータの処理に移る。
以下次回