QuickFormを使ってみよう[Pear::QuickForm]

QuickFormとは、フォームの各要素(inputタグやselectタグ)をまとめて取り扱え 入力チェック(ルール)なども定義して描画させようというオブジェクトです。

「フォームの各要素をセットしてルールをセットして描画してね!」ということです。

QuickFormが非常によいものかどうかはわかりません。各自の判断で使ってみてください。

さて、とりあえずQuickFormを使って描画してみます。

<html>
<head>
<title>QuickFormサンプル</title>

</head>
<body>
<?php
    require_once "HTML/QuickForm.php";

    $objQF = new HTML_QuickForm('frmQF', 'get');
    $objQF->addElement('text', 'txtNAME', '名前:');
    $objQF->display();
?>
</body>
</html>

上記スクリプトが実行されると、名前:という文字とテキストボックスが表示されます。 それでは、動作を確認してみます。

require_onceでQuickFormの定義を読み込みます。

newで、QuickFormのインスタンスを作成します。

第一引数にフォームの名前を第二引数にメソッドを指定します。 このフォームの名前は、formタグのnameやid属性に設定されます。

第二引数にメソッドは、サーバーにデータを送る形式をGETまたはPOSTで指定します。 省略するとPOSTが自動的に指定されます。

上記引数以外にも、actionやtarget、その他の属性などを指定することができます。

<form action="/index.php" method="get" name="frmQF" id="frmQF">

addElementでフォームの要素を追加しています。 ここでは、テキストボックスを表示するようにしています。

第一引数にフォームに表示するタグの種類、次にname属性、ラベルを指定します。 生成されるHTMLは、以下のようになります。

<input name="txtNAME" type="text" />

addElementには、inputタグで指定される要素ごとのオブジェクトを指定することもできます。

詳しくは見ていませんが、第一引数のtextを元にHTML_QuickForm_textがインスタンス化 されます。フォームで使用されるinputタグやselectタグそれぞれのオブジェクトが生成されます。

この生成するタグの種類によってaddElementの引数が変化します。(ややこしい話です。)

addElementのもうひとつの方法を紹介します。

<html>
<head>
<title>QuickFormサンプル</title>

</head>
<body>
<?php
    require_once "HTML/QuickForm.php";
    require_once "HTML/QuickForm/text.php";

    $objQF = new HTML_QuickForm('frmQF', 'get');
    $txtName = new HTML_QuickForm_text('txtNAME', '名前:');

    $objQF->addElement($txtName);
    $objQF->display();
?>
</body>
</html>

最後に、display関数でHTMLを出力します。

ここまでがQuickFormの最初の段階です。 後は、addElementを増やすなりしていきます。addElementの引数は、別のページにまとめます。