$compile_check

SmartyはPHPアプリケーションの各リクエスト時に、 現在のテンプレートが最後に訪れた時から変更されている(タイムスタンプが異なる) かどうかを検査します。もし変更されているならば、 そのテンプレートを再コンパイルします。 そのテンプレートが一度もコンパイルされていなかった場合は、 この設定に関係なくコンパイルを行います。この変数のデフォルトは TRUE です。

テンプレートが変更される予定がないアプリケーションがいったん稼動に入れば、 もはや compile_checkの ステップは必要ありません。 最大限のパフォーマンスを向上させるために、必ず $compile_checkFALSE に設定して下さい。 また、この設定を FALSE に変更した後にテンプレートファイルが変更された場合、 そのテンプレートが再コンパイルされる事は「ない」ので変更は反映されない事に注意してください。

$caching$compile_check が共に有効ならば、 テンプレートファイルが更新されるとキャッシュファイルが再生成されます。

Smarty 3.1 以降、$compile_checkSmarty::COMPILECHECK_CACHEMISS を設定できるようになりました。 これを指定すると、キャッシュファイルが再生成されたときに、Smarty がコンパイル済みのテンプレートを再検証できるようになります。 キャッシュ済みのテンプレートが期限切れになった場合は、Smarty が一度 compile_check をしてからキャッシュを再生成するということです。

詳細は、 $force_compile および clearCompiledTemplate() を参照してください。