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の引数は、別のページにまとめます。