[Smarty] 開発中はテンプレートを強制コンパイルするべき?

Smartyを採用したサイト開発での話。

フロントエンド担当から「テンプレートを変更してもフロントエンドに反映されない。templates_cディレクトリのファイルを全部削除すると反映されるんだけど」との相談あり。テンプレートを変えたのにコンパイルされていないんだなと予想。

テンプレートを強制的に再コンパイルさせるには

Smartyのマニュアルを探すと以下の変数が見つかる。

$force_compile

テンプレートが呼び出される毎に強制的にコンパイル(再コンパイル)を行います。 この設定は、 $compile_check をオーバーライドします。 デフォルトの設定では無効になっています。開発やデバッグの際に便利ですが、 決して運用環境で使用してはいけません。 $caching が有効の場合はキャッシュファイルは毎回再生成されます。

$force_compile | Smarty
http://www.smarty.net/docsv2/ja/variable.force.compile.tpl

「開発やデバッグの際に便利ですが」の言っている意味がわからないけど、この変数をtrueにセットすることで強制再コンパイルが行われるようになるらしい。とりあえずテストサイトで、そのように設定してフロントエンド担当に挙動を見てもらうことにしよう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です