
| ・ |
ドキュメントセンターを初めてご利用する方や運営方針についての基本的な姿勢をご覧になりたい方へ。
|
| ご利用の皆様から多く寄せられる質問にお答えしています。 |
|
| ・ |
ディーエーオフィスなどが利用する用語に関する解説を行います。
|
|
|
 |
 |  |
lfsettings varTune / tune |
varTuneは、各アプリケーションの基本作業をこなすコードです。外部からの値を取得したり、指定された入力値に対して、その文字列を加工し、適切な状態で格納します。例えば、外部から入力された値の中から不適切な文字を変換したり、HTMLの除去やその逆のHTML化、エンコードの変換等を担当します。
また、varTuneは、varTune自身が必要に応じてtuneを組み合わて処理します。コーディング時は、tuneを直接呼び出すようなコーディングはしないで下さい。
---
■文例
$settings->varTune( "name=test var=auto convert=han tag=off" );
■サンプル
// 初期化
require_once $g_settings['global']['basic'];
$settings = new lfSettings;
// 変数を格納
$var = $settings->varTune( "name=test var=auto convert=han tag=off" );
// 別途指定したものを利用
$test = "testの文字列に「=」や「 」を含んでいる";
$settings->setVar( "$test" );
$var = $settings->varTune( "name=test var=var" );
■書式一覧
name=任意の文字列,指定しない
外部から値を読み込む際の変数名です。外部入力をしない時は、指定する意味はありません。
---
var=任意の文字列,get,post,cookie,post-cookie,session,post-session,auto,var
実際の変数内容です。文字列はここで直接指定することができますが、次の予約語を使えば、任意の動作を行います。
get、post、autoは、外部からの入力を処理します。それぞれ、GET、POSTに対応しており、autoではこれらの判断をせずに自動処理します。register_global値がonの時の動作と同様になります。この指定では、今後クッキーの動作を加える予定で、現在もautoのときはクッキーの値を読み込めます。
session、post-sessionは、セッションの値を読み込み処理します。sessionが指定されたときは、sessionからの値のみを読み込みますが、post-sessionでは、postを指定したときの動作と同様にいったんpostからの値を受け付けます。その後、返値を設定した後、sessionへその値を保管します。
cookie、post-cookieは、クッキーの値を読み込み処理します。cookieが指定されたときは、クッキーからの値のみを読み込みますが、post-cookieをでは、postを指定したときの動作と同様にいったんpostからの値を受け付けます。その後、返値を設定した後、クッキーへその値を保管します。
varは、別途指定したものを入力する場合に使います。これは文字列の内容によっては、サンプルのような記述をすることができない場合などに対応します。例えば、「=」や半角、全角を問わずスペースを含んだ文字列の場合、仕様上途中で区切られてしまい、意図する動作をしないこともあります。このような時は、あらかじめ格納する変数値を指定します。
---
convert=han,zen,指定しない
文字列の全角・半角の扱いを変更します。通常は、半角に変換できるものを出来るだけ変換し、必要なものは全角を維持するようにします。例えば、英数字を半角に変換し、カタカナは逆に全角へ変換します。ほとんどのコードでは、半角に変換しています。指定しないときは、これらの変換は行いません。
hanは、半角へ変換します。zenは、全角へ変換します。
また、文字列の変換は、機種依存文字の変換も担当します。機種依存文字については、HTTP_USER_AGENTからWindowsとMacintoshを検出したときにそれぞれのコード体系上で不適切なものを変換します。Macintoshについては現在、試験稼働中で一部の文字変換が確認できていません。
将来的には、不適切な文字列、例えば「死ね」というような文字列が使えないようにするなどの機能を追加する計画です。
---
tag=full,basic,on,off,without,指定しない
タグは通常、すべて取り除きますが、明示的に指定することにより、変換操作をポリシーに合わせて行います。指定しないときは、offと同義で、すべてのタグは取り除きます。
fullとwithoutは同様の動作で、タグが含まれていたとしても、そのまま扱い、タグに起因する操作を行いません。
basicとonは同様の動作で、ほとんどのタグを取り除きますが、P、BR、A、B、STRONG、IMGが扱えるようになっています。これ以外はすべて削除します。基本的にこの指定をしたときに使えるタグは制限を課すものです。
extensiveは、basicおよびonの時の動作に加えて、より多くのタグが扱えます。P、BR、A、B、STRONG、IMGに加え、TABLE、TR、TH、TD、DIV、FORM、INPUTが使えます。より多くのタグが使えるように、今後この指定をしたときに使えるタグは増やす可能性があります。
いずれの別名も同義の動作を行いますが、コーディング位置により、それぞれの意味をなすように設計しています。これは、入力時の処理を行うときと、出力時の処理を行うときに配慮したものです。
今後は、タグをエンコードした文字へ変換する指定を追加します。これは、offを指定した動作の仕様を対象にする可能性があります。
---
add=br,指定しない
改行に対してBRタグを追加します。ここで指定された場合、文字列がタグを含まない場合のみに追加するので、タグを許可された環境での入力では入力値を忠実に処理し、タグが含まれない場合は表示成形のためにタグが追加されるようになっています。
なお、この動作は、タグの除去操作が行われた後になります。また、タグの利用指定に関わらず動作します。将来的に、HTML化を処理する指定を追加します。この場合、BR指定と比べて、タグに利用される文字列の扱いを厳密化する予定です。例えば、textarea内の処理を想定しています。
---
init_array=on,指定しない
配列を扱う時はonを指定します。また、指定をしない場合でも、配列だと思われる場合は自動的に配列として処理します。これは、明示的に配列を指定するときに使います。
---
arrayreturn=var,指定しない
返値が配列の場合、varを指定すると配列に格納されるべき値が、「:」で区切られた変数となります。通常は配列が返値となります。
---
encode=check,ck,sjis,SJIS指定しない
内部処理は通常、EUC-JPですが、SJIS上でコーディングする場合や外部の処理がSJISとなる可能性のある場所で、最終的にエンコードをSJISに変換する必要がある場合に指定します。チェックを指定した場合、出力エンコードがSJISの場合には、SJISへ文字列を変換します。すなわち、encode=ckを指定したとき、文字コードがSJISの場合、EUC-JPで内部処理をした後、出力時にSJISへ変換されますので、同じSJISのままとなります。
なお、ckはcheckの別名です。
SJISを明示的に指定した場合は、それらのコードがSJISであることを前提とした変換を行います。SJISで書かれたコードを読み込む場合などに利用します。
---
outencode=sjis,SJIS
出力エンコードを明示的に指定するときに使います。SJISを指定した場合は、入力された文字列にかかわらず、SJISへ変換されて出力します。
---
ck=off,指定しない
通常、文字列は改行を\nのみに変換し、最初と最後にある改行文字などは取り除かれます。しかし、ck=offを明示的に指定することで、これらの変換を行いません。
|
| 文書番号 |
01761 |
| 日付 |
2004.10.08 |
| 参照数 |
495 |
|