tmplクラスの関数説明 $Id: functions.txt,v 1.6 2002/10/06 17:15:04 kawa Exp $ htmlの記述方法 ・htmlファイル内に書かれた%[_\-a-zA-Z][_\-\.a-zA-Z0-9]*%が置換されます。 ・置換変数はメモリの許す限り何個でも記述出来ます。 ・ という記述が追加されてい ます(XXXは任意の文字列)。これはループを定義します。 からまでに記述されたhtmlタグをXXXという名前で定義します。 定義されたタグはプログラム上で何回でも繰り返す事が出来ます。 ・loopの入れ子は出来ません。(現在のバージョンでは一番外側のloopと 一番内側のendloopが有効になります。それ以外は単純に出力される事でしょう) ・loopは入れ子にしなければ、メモリの許す限り何個でも記述出来ます。 ・ という記述が追加されてい ます(XXXは任意の文字列)。これは変数が定義してあると までを表示する為のものです。 ・ifdefの入れ子は出来ません。 ・1行は16KB以内で記述して下さい。 ・プログラム、テンプレートファイル共にEUCで記述して下さい。 ・ (*は任意の文字列)が書かれた行と同じ行に書かれたhtml タグは全て出力されません。 function説明 =============================================== Tmpl2( $fname , $incode , $outcode ) ------------------------------------------ 関数説明:テンプレートクラスライブラリコンストラクタ。 使用例: $tmpl = new Tmpl2() ; ------------------------------------------ 引数 値 意味 ---------+------+--------------- $fname 文字列 テンプレート用HTMLファイル名 省略時は "./template.htm" になります。 $incode 文字列 テンプレート用HTMLファイル文字コード 省略時は未変換 $outcode 文字列 出力文字コード 省略時はSJIS 注:文字コードを指定すると変換出力モードになります。 (指定しないと未変換モード) 文字コードに設定する文字列は set_kcode() 関数参照。 =============================================== dbgmode( $dbgflag ) ------------------------------------------ 関数説明:デバッグモードフラグ設定 デバッグモード用のフラグをON/OFFします。 ------------------------------------------ 引数 値 意味 ---------+--+--------------- $dbgmode 0 デバッグ出力OFF(default) 1 デバッグ出力ON =============================================== set_kcode( $conv , $incode , $outcode ) ------------------------------------------ 関数説明:出力時漢字変換設定。 データ出力時に使用する漢字変換を指定します。 ------------------------------------------ 引数 値 意味 ---------+--+--------------- $conv 0 変換しない 1 変換を行う $incode "EUC-JP" : htmlファイルの文字コードはEUC(default) "SJIS" : htmlファイルの文字コードはSJIS "JIS" : htmlファイルの文字コードはJIS $outcode "EUC-JP" : 出力文字コードはEUC "SJIS" : 出力文字コードはSJIS(default) "JIS" : 出力文字コードはJIS =============================================== set_fname( $filename ) ------------------------------------------ 関数説明:テンプレートファイル名指定 テンプレート用のhtmlファイル名を指定します。 ------------------------------------------ 引数 値 意味 ---------+--+--------------- $filename テンプレート用のhtmlファイル名を指定します。 default値は ./template.htm です。 =============================================== assign( $name , $value ) ------------------------------------------ 関数説明:置換文字列の設定、ifdef変数の定義 置換する文字列を設定します。 同じ変数を重複して定義した場合は最終定義が優先されます。 html内に定義されていない変数が残った場合、そのまま出力されます。 html内では %[_\-a-z][_\-\.a-z0-9]*% で表現されますが、assignの $nameに設定する場合、'%'を省略します。 ・有効範囲の違い 大きく分けて2種類が存在します。 ・ループタグ内 からまでに囲まれた 範囲の事です。 ・メイン(ループタグ外) ループタグに囲まれていない範囲の事です。 初期状態がこれに相当します。 メイン状態の場合にはループ内の置換文字列の定義は出来ません。 ループタグ内の場合にはメインに書かれた置換文字列の定義は出来ません。 ループタグ内ではloopnext()関数を呼び出すまでを一区切りとし、 区切り別に置換文字列に重複定義が可能です。 ------------------------------------------ 引数 値 意味 ---------+------+----------- $name 文字列 置換変数名 $vale 文字列 置換文字列 =============================================== loopset( $lpname ) ------------------------------------------ 関数説明:設定ループ宣言 これから設定するループの宣言をします。 ------------------------------------------ 引数 値 意味 ---------+------+----------- $lpname 文字列 ループ名 ""を設定するとメインに戻ります。 =============================================== loopnext() ------------------------------------------ 関数説明:ループ内置換文字列反映 ループ内で置換した文字列を反映させます。 この関数を呼ばないとループ内では置換文字列が反映されません。 ------------------------------------------ 引数 値 意味 ---------+--+--------------- 無し =============================================== flush( $outvar ) ------------------------------------------ 関数説明:データ出力 データを変換し出力します。 この関数以外でデータを出力する事はありません。 (デバッグモードはこの限りではありません。) その為、flushを呼ぶ前に set_fname関数でテンプレート ファイルを変更する事が可能です(データベース等の出力 結果で出力イメージが変わる時等に便利)。 また、引数に1を設定するとflush関数の返値にデータを 出力します。 ------------------------------------------ 引数 値 意味 ---------+--+--------------- $outvar 1 flush関数の返値にデータを出力します。 0 未記入時か0指定時は標準出力に出力します。 =============================================== ===============================================