$compile_id (Smarty クラス変数) - PHPプロ!マニュアル

Smartyマニュアル

Smarty クラス変数 - $compile_id

$compile_id

コンパイルファイルを識別するための id です。すべての関数呼び出しで毎回 $compile_id を渡すかわりに $compile_id を指定すると、その後は暗黙のうちにこれを使用します。

$compile_id を使用すると、同一の $compile_dir を別々の $template_dirs で使用できないという制限を回避できます。 異なる $compile_id をそれぞれの $template_dir で指定すると、Smarty はコンパイルしたテンプレートを $compile_id で区別します。

例として、コンパイル時刻でテンプレートをローカライズ (言語依存のパーツを翻訳) する prefilter を用いる場合、$compile_id に現在の言語を使用することで、各言語についてのコンパイルしたテンプレートのセットを得ることができます。

別の例としては、複数のドメイン/複数のバーチャルホスト をまたがって同じコンパイルディレクトリを使用する場合があります。

例 12-6. バーチャルホスト環境での $compile_id

<?php

$smarty
->compile_id $_SERVER['SERVER_NAME'];
$smarty->compile_dir '/path/to/shared_compile_dir';

?>


Pick Up Q&A

Q
マジッククォートとmysql_real_escape_string
 このエントリーをはてなブックマークに追加 
A
magic_quotes_gpcでは、SQLインジェクション対処は十分できません。主な理由として、以下が上げられます。 ・magic_quotes_gpcは文字コードを考慮しないで処理するので、Shift_JISを使っている場合、SQLインジェ...

>>続きを読む

SQLインジェクション対策は時と場合で使う関数が変わります。その時にあったものを使いましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)