В моем проекте мы отображаем пользовательские виджеты на страницах наших клиентов. Сами виджеты меняются не очень часто, поэтому я считаю, что кэширование представлений может быть здесь чрезвычайно полезным.
Но каждый виджет отличается в зависимости от того, какая компания в нашей системе его запрашивает.
Мой вопрос заключается в использовании помощника кэширования... или любого другого метода, могу ли я кэшировать виджет на основе идентификатора компании?
<?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 */) );
}
}
Можно ли кэшировать представление индекса на основе идентификатора компании, чтобы:
/widget/index/1
подается одна копия из кеша, но:
/widget/index/2
получит другую копию из кеша?
В настоящее время мы работаем на Cake 2.3 и php5.3, у нас есть планы перейти на Cake2.4 и php 5.5, если это поможет нам.