[PHP-users 19023]Re: お勧めのテンプレートは?
fornet @ anet.ne.jp
fornet @ anet.ne.jp
2003年 11月 20日 (木) 05:39:54 JST
初めての投稿になります、小松です。
よろしくお願いします。
> Smartyはファイル単位でのキャッシング指定が
> できないということを聞いたことがあります。
> (全体でキャッシュを使用するか、しないかのどちらか)
$cachingの0と1の切り替えだけで、実現可能だと思います...
もしかりに、$cachingの値をSmartyのサブクラスで指定などして、
変更しないというルールで開発を行ったとしても、
以下の方法もあります。
<?php
include("SubSmarty.class.php");
$smarty = new SubSmarty;
/* SubSmartyの中で以下に設定
* cache毎に生成時の$cache_lifetimeを管理
*/ $this->caching = 2;
if (...) {
// cacheを毎回再生成
$smarty->cache_lifetime = 0;
$smarty->display("hoge1.tpl");
} else {
// cacheを1時間毎に再生成
$smarty->cache_lifetime = 3600;
$smarty->display("hoge2.tpl");
}
?>
Smartyは、display、clear_cache、is_cachedなどの関数の第2引数に任意のcompile
_idを指定して、
1つのテンプレートファイルに複数のキャッシュを持たせる事も可能です。
結構柔軟な挙動設定が可能なので、キャッシュはお勧めですよ。
※ちなみに、Smartyの日本語ガイドの$cachingの値の説明の箇所はちょっと日本語が
おかしいかも?
小松
PHP-users メーリングリストの案内