Smarty データ キャッシュとテンプレート キャッシュ
smarty は、smarty 構文で記述されたテンプレートを PHP 解析用の PHP 形式に置き換え、PHP データとインターフェイスの分離を実現します。
テンプレート ファイルを変更するたびに、対応するテンプレート キャッシュを再生成する必要があります。
しかし、これは単なるテンプレート キャッシュです。プログラムはデータベースからデータを取得して操作を実行する必要があり、これは PHP で直接記述されたインターフェイスと何ら変わりません。
Smarty は実際のデータのキャッシュをサポートしています。つまり、条件が満たされた場合、キャッシュされた静的ファイルはブラウザーに直接返され、データベースからは取得されません。
次の設定を追加する必要があります:
$smarty->caching = true;//打开缓存 $smarty->cache_dir = '../cache/';//缓存目录,可自定
プログラムを実行すると、キャッシュ ディレクトリにいくつかの HTML ファイルが生成されることがわかります。それを開くと、それらはすべて静的な HTML ページであることがわかります。
挿入関数はデフォルトではキャッシュされず、この属性は変更できません。
cache1.htm {insert name="mytime"} cache1.php function insert_mytime(){ return date("Y-m-d H:i:s"); }
Smarty_block 関数はローカル キャッシュを実装することもできます
{blockname} 当前时间:{$smarty.now} {/blockname}
$smarty->display('模板文件',缓存id); //创建带ID的缓存 $smarty->clear_all_cache(); //清除所有缓存 $smarty->clear_cache('模板文件');//清除指定模板文件的缓存 $smarty->clear_cache('模板文件',缓存id);//清除指定id的缓存
たとえば、ID 番号に基づいてさまざまなキャッシュ ページを生成できます。
$id="?id=".$_GET['id']; $smarty->display("index.tpl",$id);