設定項目

設定項目 --  HTML_Template_Flexy の初期設定

設定

HTML_Template_Flexy には、サイト全体に有効な設定方法と、連想配列を用いたインスタンスごとの設定方法の二通りが用意されています。 ini ファイル使った設定が一番簡単です。(PEAR::Config クラスや、自分で用意した設定方法を使いたい場合は、それも可能です。)

例 40-1HTML_Template_Flexyの一般的な設定

[HTML_Template_Flexy]

templateDir = /home/me/Projects/myapplication/templates
compileDir =  /home/me/Projects/myapplication/compiled_templates
forceCompile = 0
debug = 0
locale = en
compiler = Standard

上記 ini ファイルの設定を HTML_Template_Flexy に適用 (他のクラスでもこのような設定方法が利用できるかも知れません)

例 40-2初期設定


<?php
$config = parse_ini_file('example.ini',TRUE);
foreach($config as $class=>$values) {
  $options = &PEAR::getStaticProperty($class,'options');
  $options = $values;
}
?>

他にインスタンス生成時に設定を行う (または既存の設定を上書きする) 方法もあります。

例 40-3初期設定


<?php
  $options = array(
      'templateDir'   => '/home/me/Projects/myapplication/templates',
      'compileDir'    => '/home/me/Projects/myapplication/compiled_templates',
      'forceCompile'  => 0,
      'debug'         => 0,
      'locale'        => 'en',
      'compiler'      => 'Standard',
  );
  $template = new HTML_Template_Flexy($options);
?>

設定オプション

templateDir directory

テンプレートファイルが格納されたディレクトリ

compileDir directory

コンパイルされたテンプレートが保存されるディレクトリ、web サーバーにより書き込み可能である事

forceCompile boolean

通常は 0 に設定され、テンプレートは初回または変更があった場合にのみコンパイルされます。 フィルターの開発や結果のテストが必要な場合にのみ、このオプションが役立ちます。

debug integer

デバッグレベル、初期値は 0 で無効を意味し、1 に設定された場合は絵バッグ用の情報を表示する

locale string

初期値は 'en' で英語を示します。 テンプレートの読み書きにどの言語が使われているかを表しますが、現状ではコンパイルされたファイル名の決定にのみ影響します。 コンパイルされたファイル名 = 例. originalname.html.en.php

Flexy は get_text() がインストールされている場合、内部処理で get_text() を用いて全ての文字列を get_text() の戻り値に置き換えます。 - これにより最小の労力で複数言語対応のサイトが作成可能です。

パースされたファイルごとに {templatename}.strings.serial と名付けられたファイルが作成されます。 PHP 関数 unserialize を用いてファイル内の全ての文字列が格納された配列をここから取得し、 翻訳や xgettext で利用する事が出来ます。

compiler string

初期値は 'Standard' で、標準のトークナイザードライバーエンジンを意味し、 regex (Xipe エンジンに類似した正規表現置換タイプ) のような他のエンジンも利用可能です。 自分で開発した、コアコードとは無縁のエンジンや、完全に分離されたような全くのオリジナルなエンジンも利用できます。