ホームページ >バックエンド開発 >PHPチュートリアル >php—Smarty キャッシュ 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 のニュースを見る
アクセス後、このテンプレートのキャッシュファイルが生成され、ID100のニュースがキャッシュされます
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->clearCache(‘demo07.html’,83)
このように書くとdemo07テンプレートに対応するID83のキャッシュファイルを削除することになります
8. キャッシュの収集
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 に置き換えるだけです
上記では、関連コンテンツを含めて php-Smarty-caching 2 (26) を紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。