<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="ja-JP">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<link rel="stylesheet" type="text/css" href="../style.css" />
<title>Tripletail::Form - フォーム情報</title>
<link rel="index" href="./" />
<link rel="up" href="../" />
</head>
<body>
<div class="pod_title_block">
Tripletail::Form - フォーム情報
</div>
<!-- Begin TABLE_OF_CONTENTS -->
<div class="pod_toc">
<p>
<strong><span class="pod_lang">TABLE OF CONTENTS</span></strong>
</p>
<ul>
<li><a href="#NAME">
<span class="pod_lang">NAME
</span></a>
</li>
<li><a href="#SYNOPSIS">
<span class="pod_lang">SYNOPSIS
</span></a>
</li>
<li><a href="#DESCRIPTION">
<span class="pod_lang">DESCRIPTION
</span></a>
<ul>
<li><a href="#METHODS">
<span class="pod_lang">METHODS
</span></a>
</li>
</ul>
</li>
<li><a href="#SEE_ALSO">
<span class="pod_lang">SEE ALSO
</span></a>
</li>
<li><a href="#AUTHOR_INFORMATION">
<span class="pod_lang">AUTHOR INFORMATION
</span></a>
</li>
</ul>
</div>
<!-- End TABLE_OF_CONTENTS -->
<!-- Begin CONTENT -->
<!-- =encoding utf-8 -->
<hr />
<h1><a id="NAME">
<span class="pod_lang">NAME
</span></a></h1>
<p>
<span class="pod_lang">Tripletail::Form - フォーム情報
</span>
</p>
<hr />
<h1><a id="SYNOPSIS">
<span class="pod_lang">SYNOPSIS
</span></a></h1>
<pre class="pod_verbatim"><code> my $form = $TL->newForm;
$form->set(Command => 'DoDispList');
$TL->location(
$form->toLink('foo.cgi'));
# Location: http://....../foo.cgi?Command=DoDispList</code></pre>
<hr />
<h1><a id="DESCRIPTION">
<span class="pod_lang">DESCRIPTION
</span></a></h1>
<p>
<span class="pod_lang">CGIへのクエリ情報を保持するクラス。
一つのキーに対し、1つ以上の値を持つ。
</span>
</p>
<h2><a id="METHODS">
<span class="pod_lang">METHODS
</span></a></h2>
<dl>
<dt><a id="X$TL->newForm"><span class="pod_lang"><code class="pod_iseq_C">$TL->newForm</code>
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $form = $TL->newForm
$form = $TL->newForm(a => 1, b => [2, 20])
$form = $TL->newForm({a => 1, b => [2, 20]})
$form = $TL->newForm('http://foo.com/?a=1&b=2&b=20')</code></pre>
<p>
<span class="pod_lang">Tripletail::Form オブジェクトを作成。
三番目の形式ではURLからクエリ情報がデコードされる。
</span>
</p>
</dd>
<dt><a id="const"><span class="pod_lang">const
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $form->const</code></pre>
<p>
<span class="pod_lang">このメソッドを呼び出すと、以後フォームデータの変更は不可能となる。
</span>
</p>
</dd>
<dt><a id="isConst"><span class="pod_lang">isConst
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $form->isConst</code></pre>
<p>
<span class="pod_lang">フォームオブジェクトに対して const メソッドが呼ばれたかどうかを返す。
</span>
</p>
</dd>
<dt><a id="clone"><span class="pod_lang">clone
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $NewForm_obj = $form->clone</code></pre>
<p>
<span class="pod_lang">フォームオブジェクトの複製を返す。複製されたフォームオブジェクトは const でない。
</span>
</p>
</dd>
<dt><a id="addForm"><span class="pod_lang">addForm
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $form->addForm($another_form)</code></pre>
<p>
<span class="pod_lang">フォームに別のフォームデータを追加する。同じキーが存在した場合、
そのキーのデータは置き換えられる。
</span>
</p>
</dd>
<dt><a id="getKeys"><span class="pod_lang">getKeys
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> @keys = $form->getKeys</code></pre>
<p>
<span class="pod_lang">フォームのキー一覧を返す。ここで返すキーには、アップロードされたファイ
ルに付けられたものは含まない。
</span>
</p>
</dd>
<dt><a id="get"><span class="pod_lang">get
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $value = $form->get($key)
$value = $form->get($key, $joinstr)</code></pre>
<p>
<span class="pod_lang">指定したキーの値を $joinstr で結合して返す。$joinstr省略時は "," が使用
される。$key が存在しない場合は undef を返す。ファイルのキーを指定した
場合も undef を返す。
</span>
</p>
</dd>
<dt><a id="getValues"><span class="pod_lang">getValues
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> @values = $form->getValues($key)</code></pre>
<p>
<span class="pod_lang">指定したキーの値を配列で返す。
$key が存在しない場合は () を返す。
</span>
</p>
</dd>
<dt><a id="getSlice"><span class="pod_lang">getSlice
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> %data = $form->getSlice(@keys)</code></pre>
<p>
<span class="pod_lang">指定した複数キーに対して、キーと値が1つなら値そのものを、値が複数なら
複数の値の配列へのリファレンスのペアを、ハッシュとして返す。
存在しないキーは無視される。
</span>
</p>
</dd>
<dt><a id="getSliceValues"><span class="pod_lang">getSliceValues
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> @values = $form->getSliceValues(@keys)</code></pre>
<p>
<span class="pod_lang">指定した複数キーに対して、値が1つなら値そのものを、値が複数なら
複数の値の配列へのリファレンスを対応させて、配列として返す。
存在しないキーに対しては、それに対応する値はundefになる。
</span>
</p>
</dd>
<dt><a id="lookup"><span class="pod_lang">lookup
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $flag = $form->lookup($key, $value)</code></pre>
<p>
<span class="pod_lang">指定されたキーに指定された値があれば、1を。そうでなければundefを返す。
$keyが存在しなくてもエラーとはならない。
</span>
</p>
</dd>
<dt><a id="set"><span class="pod_lang">set
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $form->set($key => $value, $key2 => $value2, ...)
$form->set($key => \@value, $key2 => \@value2, ...)</code></pre>
<p>
<span class="pod_lang">指定されたキーに、指定された値をセットする。
以前の値は失われる。(上書きされる)
</span>
</p>
</dd>
<dt><a id="add"><span class="pod_lang">add
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $form->add($key => $value, $key2 => $value2, ...)
$form->add($key => \@value, $key2 => \@value2, ...)</code></pre>
<p>
<span class="pod_lang">指定されたキーに、指定された値を追加する。
以前の値は失われない。(追加される)
</span>
</p>
</dd>
<dt><a id="exists"><span class="pod_lang">exists
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $flag = $form->exists($key)</code></pre>
<p>
<span class="pod_lang">キーが存在すれば1を、そうでなければundefを返す。
ファイルの確認には使えない(常に偽となる)。
</span>
</p>
</dd>
<dt><a id="remove"><span class="pod_lang">remove
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $form->remove($key, $value)</code></pre>
<p>
<span class="pod_lang">指定されたキーから、指定された値を取り除く。
指定されたキーや値がない場合は何もしない。
</span>
</p>
</dd>
<dt><a id="delete"><span class="pod_lang">delete
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $form->delete($key)</code></pre>
<p>
<span class="pod_lang">指定されたキーを削除する。キーが存在しない場合は何もしない。
</span>
</p>
</dd>
<dt><a id="existsFile"><span class="pod_lang">existsFile
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $flag = $form->existsFile($key)</code></pre>
<p>
<span class="pod_lang">アップロードキーが存在すれば1を、そうでなければundefを返す。
ファイルが実際にアップロードされたかどうかに関わらず, キーの存在だけを
判断します.
</span>
</p>
</dd>
<dt><a id="isUploaded"><span class="pod_lang">isUploaded
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $flag = $form->isUploaded($key)</code></pre>
<p>
<span class="pod_lang">キーに対応するファイルがアップロードされていれば1を、
そうでなければundefを返す。
</span>
</p>
</dd>
<dt><a id="getFile"><span class="pod_lang">getFile
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $iohandle = $form->getFile($key, [$from, [$to]]);</code></pre>
<p>
<span class="pod_lang">キーに対応するIOハンドルを取り出す。ファイルアップロード時のみ取得でき
る。ファイルアップロードではなかった場合や、キーが存在しない場合は
undef を返す。
</span>
</p>
<p>
<span class="pod_lang">第二引数が指定されている場合は、それを変換元の文字コードと見做して文字コード変換
を行う。第三引数が指定されている場合は、それを変換先の文字コードと見做す。第三引
数が省略された場合は UTF-8 が指定されたものと見做す。
</span>
</p>
</dd>
<dt><a id="setFile"><span class="pod_lang">setFile
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $form->setFile($key, $iohandle);</code></pre>
<p>
<span class="pod_lang">指定したキーにIOハンドルをセットする。
</span>
</p>
</dd>
<dt><a id="getFileKeys"><span class="pod_lang">getFileKeys
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> @keys = $form->getFileKeys();</code></pre>
<p>
<span class="pod_lang">アップロードされたファイルのキー一覧を返す。
</span>
</p>
</dd>
<dt><a id="getFileName"><span class="pod_lang">getFileName
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $filename = $form->getFileName($key)</code></pre>
<p>
<span class="pod_lang">キーに対応するファイル名を取り出す。ファイルアップロード時のみ取得でき
る。ファイルアップロードではなかった場合や、キーが存在しない場合は
undef を返す。
</span>
</p>
<p>
<span class="pod_lang">ファイル名はベース名部分のみを返す(0.45以降)。
(以前の動作に関しては <a href=".././Tripletail.html#compat_form_getfilename_returns_fullpath">"compat_form_getfilename_returns_fullpath" in Tripletail</a>
を参照。)
</span>
</p>
</dd>
<dt><a id="getFullFileName"><span class="pod_lang">getFullFileName
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $filename = $form->getFullFileName($key)</code></pre>
<p>
<span class="pod_lang"><a href="#getFileName">"getFileName"</a> と同様だが、(提供されている場合)フルパスで返す。
</span>
</p>
<p>
<span class="pod_lang">(0.45 以降)
</span>
</p>
</dd>
<dt><a id="setFileName"><span class="pod_lang">setFileName
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $form->setFileName($key => $value)</code></pre>
<p>
<span class="pod_lang">指定したキーにファイル名をセットする。
</span>
</p>
</dd>
<dt><a id="setLink"><span class="pod_lang">setLink
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $form->setLink('http://.../?a=1&b=2')</code></pre>
<p>
<span class="pod_lang">URLからデコードして得られたキーと値のペアで、古い値を置き換える。
</span>
</p>
</dd>
<dt><a id="addLink"><span class="pod_lang">addLink
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $form->addLink('http://.../?a=1&b=2')</code></pre>
<p>
<span class="pod_lang">URLからデコードして得られたキーと値のペアを追加する。
</span>
</p>
</dd>
<dt><a id="setFragment"><span class="pod_lang">setFragment
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $form->setFragment($fragment)
$form->setFragment(undef)</code></pre>
<p>
<span class="pod_lang">URLのフラグメントを設定する。これはtoLinkの結果に影響する。
</span>
</p>
</dd>
<dt><a id="getFragment"><span class="pod_lang">getFragment
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $fragment = $form->getFragment;</code></pre>
<p>
<span class="pod_lang">URLのフラグメントを取得する。
</span>
</p>
</dd>
<dt><a id="toLink"><span class="pod_lang">toLink
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $url = $form->toLink($base)</code></pre>
<p>
<span class="pod_lang">フォームデータをURLの形式に変換し返す。$baseを指定すると、そのURLの後に
「?key=value」形式でデータを追加する。$baseを省略もしくはundefを指定すると、
自分自身へのリンクを返す。
</span>
</p>
<p>
<span class="pod_lang">URLが指し示す先はTLフレームワークで作成されたアプリケーションであると見なし、
文字コード判別用のデータを付与する。
TLフレームワークで作成されたアプリケーション以外へのリンクを作成する場合は、
toExtLinkメソッドを利用すること。
</span>
</p>
<p>
<span class="pod_lang">フラグメントが存在する場合は、それが #xxx の形でURLの中に組み込まれる。
</span>
</p>
</dd>
<dt><a id="toExtLink"><span class="pod_lang">toExtLink
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $url = $form->toExtLink($base)
$url = $form->toExtLink($base, $code)</code></pre>
<p>
<span class="pod_lang">フォームデータをURLの形式に変換し返す。$baseを指定すると、そのURLの後に
「?key=value」形式でデータを追加する。$baseを省略もしくはundefを指定すると、
自分自身へのリンクを返す。
</span>
</p>
<p>
<span class="pod_lang">$codeで文字コードを指定すると、文字コードを変換してからURLエンコードする。
指定しなかった場合は UTF-8 コードで出力する。
</span>
</p>
<p>
<span class="pod_lang">フラグメントが存在する場合は、それが #xxx の形でURLの中に組み込まれる。
</span>
</p>
</dd>
<dt><a id="haveSessionCheck"><span class="pod_lang">haveSessionCheck
</span></a></dt>
<dd>
<pre class="pod_verbatim"><code> $result = $form->haveSessionCheck($sessiongroup)
$result = $form->haveSessionCheck($sessiongroup, $issecure)</code></pre>
<p>
<span class="pod_lang">指定したセッショングループのセッションIDを利用したキーが現在フォームに埋め込まれているかを確認する。
埋め込まれていれば、1を。いなければ、undefを返す。
$Template->addSessionCheck とペアで使用する。
</span>
</p>
<p>
<span class="pod_lang">指定したセッショングループのIniで設定するcsrfkeyを必要とする。未設定の場合エラーとなる。
csrfkeyとセッションIDを利用してキーを作成する為、csrfkeyはサイト毎に違う値を用い、外部に漏れないようにする事。
</span>
</p>
<p>
<span class="pod_lang">使用中のセッションの mode が 'double' の場合は、
第2引数に 0 または 1 を指定すると、http側、https側を指定できる。
省略した場合は、そのときの通信が http/https のどちらであるかによって選択される。
</span>
</p>
</dd>
</dl>
<hr />
<h1><a id="SEE_ALSO">
<span class="pod_lang">SEE ALSO
</span></a></h1>
<p>
<span class="pod_lang"><a href=".././Tripletail.html">Tripletail</a>
</span>
</p>
<hr />
<h1><a id="AUTHOR_INFORMATION">
<span class="pod_lang">AUTHOR INFORMATION
</span></a></h1>
<ul>
<p>
<span class="pod_lang">Copyright 2006 YMIRLINK Inc.
</span>
</p>
<p>
<span class="pod_lang">This framework is free software; you can redistribute it and/or modify it under the same terms as Perl itself
</span>
</p>
<p>
<span class="pod_lang">このフレームワークはフリーソフトウェアです。あなたは Perl と同じライセンスの 元で再配布及び変更を行うことが出来ます。
</span>
</p>
<p>
<span class="pod_lang">Address bug reports and comments to: tl@tripletail.jp
</span>
</p>
<p>
<span class="pod_lang">HP : http://tripletail.jp/
</span>
</p>
</ul>
<!-- End CONTENT -->
<div class="pod_title_block">
Tripletail::Form - フォーム情報
</div>
<!-- Begin INDEX -->
<hr />
<h1><a id="INDEX"><span class="pod_lang">INDEX</span></a></h1>
<div class="pod_idx_outer">
<ul class="pod_idx">
<li><a href="#X$TL->newForm">$TL->newForm</a></li>
<li><a href="#AUTHOR_INFORMATION">AUTHOR INFORMATION</a></li>
<li><a href="#DESCRIPTION">DESCRIPTION</a></li>
<li><a href="#METHODS">METHODS</a></li>
<li><a href="#NAME">NAME</a></li>
<li><a href="#SEE_ALSO">SEE ALSO</a></li>
<li><a href="#SYNOPSIS">SYNOPSIS</a></li>
<li><a href="#add">add</a></li>
<li><a href="#addForm">addForm</a></li>
<li><a href="#addLink">addLink</a></li>
<li><a href="#clone">clone</a></li>
<li><a href="#const">const</a></li>
<li><a href="#delete">delete</a></li>
<li><a href="#exists">exists</a></li>
<li><a href="#existsFile">existsFile</a></li>
<li><a href="#get">get</a></li>
<li><a href="#getFile">getFile</a></li>
<li><a href="#getFileKeys">getFileKeys</a></li>
<li><a href="#getFileName">getFileName</a></li>
<li><a href="#getFragment">getFragment</a></li>
<li><a href="#getFullFileName">getFullFileName</a></li>
<li><a href="#getKeys">getKeys</a></li>
<li><a href="#getSlice">getSlice</a></li>
<li><a href="#getSliceValues">getSliceValues</a></li>
<li><a href="#getValues">getValues</a></li>
<li><a href="#haveSessionCheck">haveSessionCheck</a></li>
<li><a href="#isConst">isConst</a></li>
<li><a href="#isUploaded">isUploaded</a></li>
<li><a href="#lookup">lookup</a></li>
<li><a href="#remove">remove</a></li>
<li><a href="#set">set</a></li>
<li><a href="#setFile">setFile</a></li>
<li><a href="#setFileName">setFileName</a></li>
<li><a href="#setFragment">setFragment</a></li>
<li><a href="#setLink">setLink</a></li>
<li><a href="#toExtLink">toExtLink</a></li>
<li><a href="#toLink">toLink</a></li>
</ul>
</div>
<!-- End INDEX -->
<div class="pod_title_block">
Tripletail::Form - フォーム情報
</div>
</body>
</html>