Smarty マニュアル

前のページ

次のページ

第 9章設定ファイル

設定ファイルは、1つのファイルからグローバルなテンプレート変数を管理する方法として、デザイナーにとって有用です。1つの例としては、テンプレートの色の指定を行う場合です。通常、アプリケーションの配色を変更するには全てのテンプレートファイルを調べ、該当する箇所の色の指定を変更する必要があります。設定ファイルを使うと色の指定を一箇所で管理できるので、更新する必要があるファイルは1つだけになります。

例 9-1. 設定ファイルの記述例

# global変数pageTitle = "Main Menu"bodyBgColor = #000000tableBgColor = #000000rowBgColor = #00ff00[Customer]pageTitle = "Customer Info"[Login]pageTitle = "Login"focus = "username"Intro = """This is a value that spans more than one line. you must encloseit in triple quotes."""# 隠されたセクション[.Database]host=my.example.comdb=ADDRESSBOOKuser=php-userpass=foobar

設定ファイルの値はクォートで囲む事が出来ます(必須ではありません)。シングルクォートとダブルクォートのどちらでも使用できます。1行を越える値を持つ場合は、全体の値をトリプルクォート(""")で囲みます。設定ファイルの中にコメントを記述するには、行の初めに#(ハッシュ)を使う事を推奨します。

上記の設定ファイルの例は2つのセクションを持っています。セクション名はブラケット[]に囲まれ、[もしくは]を含まない任意の文字列を指定できます。先頭の4つの変数はglobal変数であるか、セクションに含まれない変数です。これらの変数は常に設定ファイルから読み込まれます。特定のセクションが読み込まれた場合は、global変数とそのセクションからの変数が読み込まれます。global変数とセクション内に同じ変数が存在する場合はセクション内の変数が使用されます。1つのセクション内に同名の2つの変数を指定した場合は、後で指定されたものが使用されます。

設定ファイルは、組み込み関数config_loadによってテンプレート内に読み込まれます。

変数名又はセクション名の先頭にピリオドをつける事によって、変数又は全体のセクションを隠蔽する事ができます。アプリケーションからは使用されるがテンプレートエンジンからは使用されないような重要なデータ(DB接続に関する情報など)を取得する際に有用です。テンプレートを編集をするサードパーティが存在する場合、重要なデータを含んだ設定ファイルをテンプレート内に読み込む事によって盗み読まれる危険性を回避できます。

ページ上段