この機能を使用すると、異なる $_GET を異なる方法でキャッシュできます。 2. Smarty キャッシュをクリアする 通常、Smarty キャッシュをクリアするにはいくつかの方法があります。
3. グローバルキャッシュ グローバル キャッシュとは、Web サイト全体のすべてのページに対してキャッシュされたページを生成することです。グローバルキャッシュを設定するには、まずsmarty設定ファイルを操作し、キャッシュを有効にし、キャッシュファイルのディレクトリを指定し、キャッシュの生存時間を設定する必要があります。設定パラメータは次のとおりです。 $smarty->cache_dir='./cache/' //キャッシュファイルを保存するフォルダーを設定します。 $smarty->caching=1;//キャッシュを有効にする 0、FALSE はオフを意味し、TRUE はオンを意味します $smarty->cache_lifetime=3600//単位は秒です(-1を入力すると期限切れになりません) 次に、特定の PHP ページに移動して、それに対応する特定のキャッシュ ファイルの名前を設定する必要があります。PHP ページでは次のように記述できます。
注: $smarty->display('対応するテンプレートファイル名', 'キャッシュファイル名の補足部分') このメソッドです。 第二引数は省略します。記述しない場合、キャッシュファイル名はテンプレートファイル名を暗号化したものになります。しかし、これには次のようなより困難な問題が発生します。 http://bbs.it-home.org/article.php?id=5 http://bbs.it-home.org/article.php?id=7 これら 2 つの URL は異なるコンテンツに対応しますが、生成されるキャッシュ ファイル名は記事の暗号化の結果です。これにより、ユーザーは異なるコンテンツをクエリすることになりますが、同じキャッシュ ファイルにアクセスすることになります。したがって、アクセス URL (? 以降のすべてのパラメータを含む) を暗号化するためのより信頼性の高い方法である md5 を追加することをお勧めします。 4. 部分的なキャッシュ 部分キャッシュとは、Web サイト上のすべてのファイルではなく、一部のファイルを指定してキャッシュ ファイルを生成することを意味します。部分キャッシュの本質は、実際には部分非キャッシュです。つまり、どのファイルをキャッシュするかを指定するのではなく、キャッシュしない特定のファイルを指定することです。ここで、3 つのファイルがあると仮定します。 http://bbs.it-home.org/index.php //キャッシュが必要です http://bbs.it-home.org/cate.php //キャッシュが必要です http://bbs.it-home.org/article.php //キャッシュは必要ありません 最初の 2 つのファイルの php ファイルには、$smarty->display('対応するテンプレート ファイル名', 'キャッシュ ファイル名の補足部分') という文をまだ記述する必要があります。 ただし、3 番目のファイルでは、キャッシュが必要ないことを明確に指定する必要があります。その具体的な方法は、指定されたテンプレートを表示する前に次のコードを記述することです。 $smarty->clear_cache('対応するテンプレートファイル名');//実際には $smarty->display('対応するテンプレートファイル名') の前後に記述できます もちろん、 $smarty->display('対応するテンプレート ファイル名') を記述する必要があるため、キャッシュを生成したくないので、2 番目のパラメーターは必要ありません。 注: $smarty->clear_cache() と $smarty->display() のパラメータは一貫して記述する必要があります 5. 部分的なキャッシュ 部分キャッシュとは、同じページ内の特定のローカルな場所を指定してキャッシュを生成することです。実際には、どの部分がキャッシュを生成するかは指定されていませんが、どの部分がキャッシュを生成しないかは指定されていません(これは部分キャッシュの動作概念に似ています)。まず次の例を見てみましょう。 Article.php ファイルの一部:
をコピーします。
上記の例の説明は次のとおりです: PHP では、カスタム補助名を持つ insert_ (アンダースコアに注意) という名前のカスタム関数を定義するだけでよく、返される値を assign() メソッドで渡す必要はありません。 . {insert name='customSupplementary name'} を使用してテンプレート ページ内で直接呼び出されると、キャッシュの影響を受けず、リアルタイムで更新されます。 Smarty キャッシュを使用するだけでは十分ではないと思われる場合は、カスタム キャッシュを使用することもできます。 次のようなカスタム関数を使用してキャッシュを処理するには、cache_handler_func を設定する必要があります。
|