第8回 Smartyの便利な機能を使いこなす(その2:キャッシュ後編) (その1)
今回は、第7回の続きでキャッシュの使い方について説明します。
バージョンアップ
さてその前に…
前回、バージョン2.6.20がリリースされているという話題を挙げましたが、何ともタイミングが悪いことにその記事が公開される直前の12月2日、新バージョンの2.6.21がリリースされていました。
(追記: 更にこの原稿公開(12/18)と同じタイミングで2.6.22が公開されたようです……)
セキュリティホールの修正など含まれているので、Smarty講座第1回の記事を参考にインストールしてください。
部分的にキャッシュ
最近のWebページはブログが流行ったこともあり、ガジェットやリンクなどメインとなるコンテンツ以外の情報をサイドメニューに配置する2ペインや3ペインのレイアウトが非常に多くなりました。
PHPプロ! のレイアウトも2ペインですね。

このような構成にしたとき、メインのコンテンツはキャッシュしたいがサイドメニューの内容はキャッシュしたくない。
もしくはサイドメニューの内容のキャッシュを他のページでも使い回せるようにしたい、などの要望が出てくると思います。
さて第4回で組み込み関数{include}の説明をしました。{include}は他のテンプレートファイルを指定位置に読み込む関数で、ヘッダやフッタなど共通部分の管理に役に立つ、という話をしましたが覚えてますでしょうか?
これを使えば、部分的にキャッシュさせることができそうな気がしますが…
ではここで問題。{include}を使ったページがキャッシュされた場合、どのような動作になるでしょうか?
答えは、複数のテンプレートから共通で使えるキャッシュが保存される
…ということはなくて、{include}を呼んだテンプレートに結果が埋め込まれた形でキャッシュされます。
なので、他のテンプレートとキャッシュを使い回すことは出来ません。

そこで、この問題を解決する別の組み込み関数を紹介します。{insert}です。






