私のプロジェクトでは、顧客ページにカスタム ウィジェットを表示します。ウィジェット自体は頻繁に変更されるわけではないので、ここではビュー キャッシュが非常に役立つと思います。
ただし、すべてのウィジェットは、システム内のどの会社がそれを要求しているかによって異なります。
私の質問は、キャッシュ ヘルパーを使用することです...または他の方法で、会社 ID に基づいてウィジェットをキャッシュできますか?
<?php
App::uses('AppController', 'Controller');
class widgetController extends AppController {
public $helpers = array( 'Cache' );
public $cacheAction = array(
'iframeForm' => 3600,
);
public $uses = array('Company');
public function index( $company_id ) {
//... Load up a ton of data
$this->layout = 'widget';
$this->set( compact(/* Set a ton of data */) );
}
}
次のように、会社 ID に基づいてインデックス ビューをキャッシュすることは可能ですか。
/widget/index/1
キャッシュから 1 つのコピーが提供されますが、次のようになります。
/widget/index/2
キャッシュから別のコピーを取得しますか?
私たちは現在 Cake 2.3 と php5.3 で実行していますが、何か助けがあれば、cake2.4 と php 5.5 に移行する計画があります。