ホームページ  >  記事  >  バックエンド開発  >  Smarty データ キャッシュとテンプレート キャッシュ

Smarty データ キャッシュとテンプレート キャッシュ

WBOY
WBOYオリジナル
2016-06-20 13:00:541176ブラウズ

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}

キャッシュに ID 番号を追加し、1 つのテンプレートに複数のキャッシュを実装します

$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);


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。