ホームページ  >  記事  >  バックエンド開発  >  php—Smarty キャッシュ 2 (26)

php—Smarty キャッシュ 2 (26)

WBOY
WBOYオリジナル
2016-08-08 09:24:36776ブラウズ

ページ内で、一部のデータはキャッシュされ、一部のデータはキャッシュされません。これは部分キャッシュです

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.MVC

1.M:モデル

2.V: 見る

3.C:コントローラー

以前の View コンポーネントを Smarty に置き換えるだけです

上記では、関連コンテンツを含めて php-Smarty-caching 2 (26) を紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。

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