|
|
(Next) クイックヘルプ |
||||
| |
|||||
|
|||||
このチュートリアルは、QuickForm を初めて使うユーザに対して、 機能と使用法の概要を紹介するものです。 ここでは、利用できる機能の内のほんの一部だけについて解説しますが、 より広く深く知るために本マニュアルのどこを見れば良いかについても示していきます。
Keith Edmunds によって書かれた、QuickForm の使用法についての いくぶん長めのチュートリアル も参考となるでしょう。
基本的な使用方法
<?php
// メインクラスの読み込み
require_once 'HTML/QuickForm.php';
// HTML_QuickForm オブジェクトを生成
$form = new HTML_QuickForm('firstForm');
// フォーム要素のデフォルト値を設定
$form->setDefaults(array(
'name' => '山田太郎'
));
// フォームに要素をいくつか追加
$form->addElement('header', null, 'QuickForm チュートリアルのサンプル');
$form->addElement('text', 'name', '名前を入力してください:', array('size' => 50, 'maxlength' => 255));
$form->addElement('submit', null, '送信');
// フィルタと検証ルールを追加
$form->applyFilter('name', 'trim');
$form->addRule('name', '名前を入力してください', 'required', null, 'client');
// フォームの妥当性検証
if ($form->validate()) {
echo '<h1>こんにちは、' . htmlspecialchars($form->exportValue('name')) . 'さん!</h1>';
exit;
}
// フォームの出力
$form->display();
?>
では、順を追って上記の例を検討して行きましょう。
<?php
$form = new HTML_QuickForm('firstForm');
?>
次のコードが name 要素のデフォルト値を '山田太郎' に設定するものであることは、おそらく予想が付くでしょう。
<?php
$form->setDefaults(array(
'name' => '山田太郎'
));
?>
今回のフォームは、3 つの要素から構成されています。
<?php
$form->addElement('header', null, 'QuickForm チュートリアルのサンプル');
$form->addElement('text', 'name', '名前を入力してください:', array('size' => 50, 'maxlength' => 255));
$form->addElement('submit', null, '送信');
?>
次の行では、'name' 要素の値に対する フィルタ を定義しています。
<?php
$form->applyFilter('name', 'trim');
?>
次に、名前欄の 規則 を定義します。
<?php
$form->addRule('name', '名前を入力してください', 'required', null, 'client');
?>
フォームの作成が終了し、検証規則も定義しました。 次に、フォームを処理するのか表示するのかを決めなければなりません。
<?php
if ($form->validate()) {
// 何らかの処理
}
?>
フォームの入力が検証されたら、その値を処理しなければなりません。
<?php
echo '<h1>こんにちは、' . htmlspecialchars($form->exportValue('name')) . 'さん!</h1>';
exit;
?>
最後の行は、とても簡単です。
<?php
$form->display();
?>
基本的な QuickForm の機能についてはこれでご理解いただけたことでしょう。 しかし、このパッケージにはここで取り上げた以外にも多くの機能があります。 それらについてはそれぞれ個別のチュートリアルを設けています。 この節ではそれらについての簡単な説明をした上で、詳細なドキュメントの場所を示します。
グループ を使用すると、 複数の独立した要素をひとつのエンティティにまとめ、 それをひとつの要素であるかのように使用することができます。 これは date や hierselect のような擬似要素を作成するためにも使用されています。
QuickForm は、フォームのレイアウトや見栄えを変更するために多くの機能を提供しています。 フォームの出力は レンダラ が行います。これは必要なロジックが組み込まれた特別なクラスです。 直接 HTML を出力する レンダラや、 テンプレートエンジンを使用する レンダラがあります。
そして最後に、独自の要素型や検証規則そして レンダラ を追加することで QuickForm を拡張することもできます。
|
|
(Next) クイックヘルプ |
||||||||
| |
|||||||||
|
|||||||||