ホームページ >バックエンド開発 >PHPチュートリアル >PHPテンプレートエンジンSmarty_PHPチュートリアルのキャッシュ使用方法のまとめ
ここでは、smarty キャッシュを有効にして使用する方法、smarty キャッシュをクリアする方法、smarty の 3 つのキャッシュ メカニズム (グローバル キャッシュ、部分キャッシュ、ローカル キャッシュ) を分析します。
1. Smarty キャッシュを有効にして使用します
smarty のキャッシュを有効にするには、smarty 設定パラメータで caching を true に設定し、cache_dir を指定するだけです。同時に、cache_lefetime パラメータを設定してキャッシュの有効期間 (秒単位) を指定します。同じページに対して複数の異なるキャッシュを生成したい場合は、次のように、表示または取得に 2 番目のパラメーターcache_id を追加できます。
2. Smarty キャッシュをクリアします
3. グローバルキャッシュ
グローバル キャッシュとは、Web サイト全体のすべてのページに対してキャッシュ ページを生成することです。グローバル キャッシュを設定するには、まず Smarty 設定ファイルを操作し、キャッシュを有効にし、キャッシュ ファイル ディレクトリを指定し、キャッシュ存続時間を設定する必要があります。設定パラメータは次のとおりです:部分キャッシュとは、ウェブサイト上のすべてのファイルではなく、一部のファイルを指定してキャッシュ ファイルを生成することを意味します。部分キャッシュの本質は、実際には部分非キャッシュです。つまり、どのファイルをキャッシュするかを指定するのではなく、キャッシュしない特定のファイルを指定することです。ここで、3 つのファイルがあると仮定します。
ただし、3 番目のファイルでは、キャッシュ生成が必要ないことを明確に示す必要があります。その具体的な方法は、表示でテンプレートを指定する前に次のコードを記述することです:
もちろん $smarty->display('対応するテンプレート ファイル名') を記述する必要があるため、キャッシュを生成したくないので、2 番目のパラメーターは必要ありません。
注: $smarty->clear_cache() と $smarty->display() のパラメータは一貫して記述する必要があります
5. 部分キャッシュ
部分キャッシュとは、同じページ内の特定のローカルな場所を指定してキャッシュを生成することです。実際には、どの部分がキャッシュを生成するかは指定されていませんが、どの部分がキャッシュを生成しないかは指定されていません(これは部分キャッシュの動作概念に似ています)。まずは次の例を見てみましょう:
article.php ファイルの一部は次のとおりです:
$time=time();
$smarty->assign('time',$lanmuarr);
関数 insert_timeget(){
戻り時間();
}
$smarty->display('article.html');
テンプレート ファイルarticle.html の対応するコードは次のとおりです:
{$time}
{insert name='timeget'}
上記の例の説明は次のとおりです: PHP では、カスタム補助名を持つ insert_ (アンダースコアに注意) という名前のカスタム関数を定義するだけでよく、返される値を assign() メソッドで渡す必要はありません。 . {insert name='customSupplementary name'} を使用してテンプレート ページ内で直接呼び出されると、キャッシュの影響を受けず、リアルタイムで更新されます。
もう 1 つの追加事項は、Smarty キャッシュを使用するだけでは十分ではないと思われる場合は、カスタム キャッシュを使用することもできます。
ここで、次のようなカスタム関数を使用してキャッシュを処理するには、cache_handler_func を設定する必要があります:
関数 myCache($action,&$smarty_obj,&$cache_content,$tpl_file=null,$cache_id=null,$compile_id=null){
スイッチ($アクション){
case "read"://キャッシュコンテンツの読み取り
case "write"://ライトキャッシュ
ケース「クリア」://クリア
}
}