HTML_QuickForm とは?PEARを使ってインストール、addelementの使い方

PHP
スポンサーリンク

HTMLの入力フォームを作るHTML_QuickFormについて調べてみました。

スポンサーリンク

HTML_QuickForm とは

HTML_QuickFormは、テキスト入力欄、プルダウンメニューなどの簡単な入力フォームを生成することが出来るライブラリです。

HTML_QuickFormを使うと、PHPのプログラムで簡単な入力フォームを作ることが出来ます。

 

HTML_QuickFormは、PEARを使ってインストールします。

PEARとは?読みかた、意味

PEAR (PHP Extension and Application Repository) は、PHPで利用する事ができるライブラリ(パッケージ)を提供しているサービスです。

PEARの読み方は、ペアです。洋ナシという意味があります。

 

PEARはPHPで書かれたライブラリを提供していますが、C言語で書かれた拡張ライブラリ(extension)を提供するPECLというサービスも存在します。

 

PEARはパッケージ管理ツール (パッケージマネージャー) の一つです。

パッケージ管理システム(パッケージマネージャ)の種類 (Windows, Linux, Mac)
最近、ソフトウェアをインストールする際にやたらとパッケージマネージャーを使います。 システムによって、あるいはアプリケーションによってパッケージマネージャーが異なるので、今回、整理してみました。 パッケージ管理システム (パッケージマネー...

PHPのパッケージ管理ツールとしてはComposerが有名ですが、PEARもPHPのパッケージ管理ツールです。

 

HTML_QuickForm ダウンロード、インストール

HTML_QuickForm ダウンロード、インストール方法は次の通りです。

 

まず、PEARをyumでインストールします。

# yum install -y php-pear

 

 

次に、PEARを使って、HTML_QuickFormをインストールします。

# pear install HTML_QuickForm

 

HTML_QuickFormの使い方

HTML_QuickFormの使い方は以下に詳しく書かれています。

 

PEAR HTML_QuickForm入門ガイド

PEAR初心者ガイド -- HTML_QuickForm入門

 

HTML_QuickForm addElementの引き数

HTML_QuickFormでは、入力用のHTMLを生成するために、addElementメソッドの1番目の引数に、「text」や「submit」以外に次の引数を指定できます。

標準HTML

生成するHTML 第1(タグの種類) 第2 第3 第4 第5 第6
ボタン button strin
gname属性
string
value属性
mixed
その他の属性
チェックボックス checkbox string
name属性
string
checkboxのラベル
string
checkboxの右に配置される文字列
mixed
その他の属性
hidden string
name属性
string
value属性
mixed
その他の属性
画像 image string
name属性
string
src属性
mixed
その他の属性
パスワード password string
name属性
string
value属性
mixed
その他の属性
ラジオボタン radio string
name属性
string
ラベル
string
radioの右に配置される文字列
string
value属性
mixed
その他の属性
リセットボタン reset string
name属性
string
value属性
mixed
その他の属性
プルダウンメニュー select string
name属性
string
ラベル
mixed
options属性selectの値配列
mixed
その他の属性
送信ボタン submit string
name属性
string
value属性
mixed
その他の属性
テキスト入力欄 text string
name属性
string
value属性
mixed
その他の属性
テキストエリア textarea string
name属性
string
value属性
mixed
その他の属性

 

カスタム 要素

生成するHTML 第1(タグの種類) 第2 第3 第4 第5 第6
advcheckbox string
name属性
string
checkboxのラベル
string
checkboxの右に配置される文字列
mixed
その他の属性
mixed
チェックonの時の値とOffの時の値
autocomplete string
name属性
string
ラベル
array
autocompleteの元になる値
mixed
その他の属性
日付 date string
name属性
string
ラベル
array
日付の表示形式
mixed
その他の属性
header string string
表示文字列
hiddenselect string
name属性
string
ラベル
mixed
options属性selectの値配列
mixed
その他の属性
hierselect string
name属性
string
ラベル
mixed
その他の属性
リンク link string
name属性
string
ラベル
stringy
href属性
string
リンク文字列
mixed
その他の属性
文字列 static string string
ラベル
string
表示文字列

 

HTML_QuickForm addElementの書き方サンプル

HTML_QuickForm addElementの書き方サンプルは以下の通りです。

追加する要素の種類 構文
AdvCheckBox addElement(‘advcheckbox’, string $name, string $label, string $text, mixed $attr, mixed $values)
Button addElement(‘button’, string $name, string $value, mixed $attr)
CheckBox addElement(‘checkbox’, string $name, string $label, string $text, mixed $attr)
Date addElement(‘date’, string $name, string $label, array $opt, mixed $attr)
File addElement(‘file’, string $name, string $label, mixed $attr)
Header addElement(‘header’, string $name, string $label)
Hidden addElement(‘hidden’, string $name, string $value, mixed $attr)
HierSelect addElement(‘hierselect’, string $name, string $label, mixed $attr)
HTML addElement(‘html’, string $html)
Image addElement(‘image’, string $name, string $src, mixed $attr)
Link addElement(‘link’, string $name, string $label, string $href, string $value, mixed $attr)
Password addElement(‘password’, string $name, string $label, mixed $attr)
Radio addElement(‘radio’, string $name, string $text, int $value, mixed $attr)
Reset addElement(‘reset’, string $name, mixed $attr)
Select addElement(‘select’, string $name, string $label, mixed $value, mixed $attr)
Static addElement(‘static’, string $label, string $text)
Submit addElement(‘submit’, string $name, string $value, mixed $attr)
Text addElement(‘text’, string $name, string $label, mixed $attr)
TextArea addElement(‘textarea’, string $name, string $label, mixed $attr)

 

addElementとcreateElementの違い

createElement メソッドも上表と同様の構文で要素を操作することができます。

createElementメソッドとaddElementメソッドは挙動に違いがあります。

addElementメソッドが指定された単一の要素をフォームに直接追加するのに対して、createElementメソッドは新規の要素を生成するだけでフォームへの追加は行いません。

createElementメソッドで作成した要素は以下のようにいったん配列に格納しておいて、addGroupメソッドで要素グループとしてフォームに追加します。

 

よく質問のあるフォームは以下の通りです。

HTML_QuickForm date

これは日付を入力するフォームです。

HTML_QuickForm radio

これはラジオボタンを入力するフォームです。

HTML_QuickForm static

これは、静的なラベルを入れることが可能です。

textと異なり、ユーザーが変更することはできません。

HTML_QuickForm select

これは、プルダウンメニューを生成します。

HTML_QuickForm createElement radio

これは、ラジオボタンを追加するときに使います。

以下のように使います。

 

$gender[] = $form->createElement('radio', 'gender', NULL, '男', 'male');
$gender[] = $form->createElement('radio', 'gender', NULL, '女', 'female');
$form->addGroup($gender, 'gender', "性別:");

HTML_QuickForm validate

HTML_QuickForm::validate() は、サーバ側での検証を行います。
使い方

require_once 'HTML/QuickForm.php';
boolean HTML_QuickForm::validate ( ( void )

 

エラーが見つからなかった場合に TRUE を返します。

例外はスローされません。

 

HTML_QuickForm2とは

HTML_QuickForm2は、HTML_QuickFormの改良版です。

普通は、HTML_QuickForm2を使えばいいはずなんですが、こちらの方はあまり参考になる資料がありません。

 

こちらがHTML_QuickForm2の公式サイトと思われます。

Package Information: HTML_QuickForm2

HTML_QuickForm2

 

以下に日本語の解説があります。

[pear]QuickForm2を使ってみる

http://dbinfo.sakura.ne.jp/?contents_id=45

 

 

コメント