DB_DataObject_FormBuilder は、DB_DataObject および HTML_QuickForm によるアプリケーションの開発を手早く行うためのものです。 とりあえず動作するプロトタイプを手っ取り早く作成するためには、 まずデータベースを設計し、DataObject の createTable スクリプトを実行し、 できあがったオブジェクトを FormBuilder クラスに渡すようなスクリプトを書けばいいのです。 FormBuilder は、単純ながらきちんと動作する HTML_QuickForm オブジェクトを自動生成します。 それを用いてあなたのアプリケーションをテストすることができます。 また、フォームの送信ボタンが押された際に、insert() と update() のどちらのコマンドを実行するかを自動で検出するメソッドも提供します。 DataObject の links.ini ファイルを作っておけば、それを自動的に認識します。 外部キーに対応する項目は、リンク先のテーブルの内容を元にした select となります。 さまざまなオプションパラメータを DataObjects.ini に記述することもできますし、 派生クラスのプロパティとして設定することもできます。これらを使用することで、 生成されるフォームをよりよくすることができます。 プロトタイプをもとに徐々に機能を追加していけば、 完全な機能を実装したフォームを得ることができます。 基本的な使用法はこのようになります。
$do =& new MyDataObject(); // ここに "$do->get($some_id);" を書いて、新規オブジェクトではなく // 既存のオブジェクトを利用することもできます $fg =& DB_DataObject_FormBuilder::create($do); $form =& $fg->getForm(); if ($form->validate()) { $form->process(array(&$fg,'processForm'), false); $form->freeze(); } $form->display(); |