私はCakePHPは、次のようにキャッシュをクリア信じる:要素つまりがある場合は
- 。
articles_most_viewed.ctp
と呼ばれ、articles index.ctp
ファイル内から呼び出された場合、Cakeはadd、edit、deleteアクション中にそれぞれの要素をクリアします。
- ただし、要素がある場合、つまり、
frontpage_lastest_articles.ctp
pages/display.ctp
ファイル(frontpage)でのみ呼び出される場合、CakePHPは影響を受ける/変更されたモデル/ビュー(この場合はarticles
モデル/コントローラ/ビュー)から呼び出されていないため、その要素をクリアしません。
私は、よりよい方法があれば、この問題にどう対処するかを理解しています。
が
...
function admin_add(){
...
if (!empty($this->data)) {
if ($this->Article->save($this->data)) {
// I call the following function to clear my entire Cache directory
// after this action is successfully processed
// ===========================================
clearCache();
// ===========================================
$this->Session->setFlash('Your post has been saved.');
$this->redirect(array('action' => 'index'));
}
}
}
これを処理するためのより良い方法があるかもしれませんが、これは今の私のソリューションです:しかし、私のクイックフィックスは、次のような私のadmin_add.ctp
、admin_edit.ctp
とadmin_delete.ctp
ファイルでclearCache()
を呼び出すことです。より良い/オートマジックなソリューションがあるかどうかを知ってうれしいです。
どのようにキャッシュしますか? http://book.cakephp.org/2.0/ja/core-libraries/helpers/cache.htmlのみが、このページで説明されている条件が満たされている場合にのみ、キャッシュを自動消去します。 – burzum
記事ビューにキャッシュされた要素がリフレッシュされていることに気付きました。しかし、リフレッシュされないフロントページ(ページコントローラ)のアーティクルコントローラを参照する要素があります。それをどうやって行うのですか? –