Создаем объект для применения кэширования:
$cache = & JFactory::getCache();
Для просмотра результатов кэширования можно использовать класс JProfiler:
<?php // Create the profiler object. $profiler = new JProfiler(); // Do some stuff. echo $profiler->mark( ' seconds to do stuff' ); ?>
Кэширование функции, не являющейся частью массива:
$rows = $cache->call( 'testFunction' );
Если функция часть массива:
$rows = $cache->call( array( 'TestClass', 'testMethod' ) );
Если метод получает переменные:
$rows = TestClass::testMethod( $table );
то так:
$rows = $cache->call( array( 'TestClass', 'testMethod' ), $table );
Чтобы кэширование применялось всегда - независимо от глобальных настроек, используем код:
$cache->setCaching( 1 );
Для очистки кэша:
$cache->clean();
Кэширование для функции объекта:
$model =& $this->getModel('filer' );
делается так:
$record =& $cache->call( array( $model, 'getRecord' ) );