テンプレートキャッシュ機能
PHPTALは、テンプレートキャッシュ機能が用意されています。 タグ毎にキャッシュ期間が設定できます。
キャッシュを設定する
キャッシュを設定するには、phptal:cache を使用します。
<div phptal:cache="30m"> // 30分間キャッシュする (省略) </div>
キャッシュ期間は、d(日), h(時間), m(分), s(秒) のいずれかを用いて指定することができます。 また、div 等の各タグ毎にキャッシュ期間を変更できます。
URL 毎のキャッシュ
期間の後に、per url を付加することで、URL 毎のキャッシュが可能になります。
<div phptal:cache="2h per url"> // 2 時間キャッシュする。キャッシュデータは URL 毎に独立 (省略) </div>
per url を付加しない場合、テンプレートを共有するファイル全てで、同一のキャッシュを用いて表示します。
ユーザー毎のキャッシュ
期間の後に、per user/id のような、ユーザー毎に異なるデータ条件を付加することで、ユーザー毎のキャッシュが可能になります。
<div phptal:cache="1d per user/id"> // 1 日間キャッシュする。キャッシュデータは user/id 毎に独立 (省略) </div>
ユーザー毎に異なるデータをキャッシュしたい場合は、必ずユーザーID 等をキャッシュ条件にするようにしましょう。 そうしないと、別のユーザーに情報を表示してしまう可能性があります。
URL 毎キャッシュ、ユーザー毎キャッシュ等は便利ですが、使い方を間違えるとまずいので注意しましょう。