php—Smarty-caching 2 (26)
ページ内では、一部のデータがキャッシュされ、一部のデータはキャッシュされません。これは部分キャッシュです
l $smarty->assign(“ var”, “ value”, true)
3 番目のパラメーター: キャッシュしないかどうかを示します
l {$var nocache=true}
nocache パラメーターは、テンプレート変数
l {nocache}{/nocache}
nocache タグのペアを使用します。間にあるコンテンツはすべてキャッシュされません
キャッシュ ファイル: 名前はファイルに直接書き込まれ、ローカル キャッシュ機能を実装するには毎回動的に経過時間を読み取る必要があることがわかりました
名前と年齢の値を組み合わせてみます。ページ上で発生する変数に注意してください。名前は変更されず、年齢は変化します。
7. 単一ページの複数のキャッシュ
http://localhost/news.php?id=100
ID 100 のニュースを表示
アクセス後、このテンプレートのキャッシュ ファイルが生成され、 ID 100 のニュースはキャッシュされます
http://localhost/news .php?id=80
ID 80 のニュースを表示します
この時点で、以前のキャッシュ ファイルが表示されます
l $smarty->caching= true
キャッシュ メカニズムを有効にする
l $smarty->display("tpl", "cacheid) ")
2 番目のパラメータは、特定のキャッシュであるキャッシュ ID を表します。ファイルの唯一の標準
コード:
この URL を使用してそれぞれにアクセスします:
Demo07.php?id=10
Demo07.php?id=83
Demo07.php?id=96
その後、キャッシュ ディレクトリに次のようなキャッシュ ファイルがいくつか生成されていることがわかりました。
ファイル名 ^ より前の内容はキャッシュ ID です。キャッシュ ファイルの一意の識別子。
キャッシュ ファイルをクリアするにはどうすればよいですか?
$smarty->clearCache('demo07.html');
このように書くと、demo07 テンプレートのすべてのキャッシュ ファイルがクリアされます
$smarty-> ('demo07.html',83)
このように書くと、demo07 テンプレート
8 に対応する ID 83 のキャッシュ ファイルを削除することを意味します。 http://localhost/news.php?kid=10&page=8
は、ニュース カテゴリ ID 10 のニュース タイトルを表示し、8 ページ目のデータを表示することを意味します。キャッシュするにはどうすればよいですか?
l $smarty->caching=true
キャッシュを有効にする
l $smarty->display("tpl", $id1."|".$ id2 )
キャッシュ ID を設定し、| を使用して接続し、キャッシュ コレクションを示します
次の URL を実行します:
Deo08.php?kid=13&page=2
Deo08.php?kid=25&page=8
Deo08.php?kid=2&page= 58
キャッシュディレクトリに複数のキャッシュファイルが生成されていることが分かりました
実際には、取得したパラメータをすべて | で接続して新しいキャッシュファイルを生成することを意味します。キャッシュ ファイルMVC での Smarty の適用
1. MVC1. M: モデル
2. V: ビュー
3. C: コントローラー
以前の View コンポーネントを Smarty