Spec-Zone.ru › Yii 1.1

CCacheDependency

Пакет system.caching.dependencies
Наследование класс CCacheDependency » CComponent
Реализует ICacheDependency
Подклассы CDbCacheDependency, CDirectoryCacheDependency, CExpressionDependency, CFileCacheDependency, CGlobalStateCacheDependency
С версии 1.0
Исходный код framework/caching/dependencies/CCacheDependency.php
CCacheDependency — базовый класс для классов зависимостей кэша.

CCacheDependency реализует интерфейс ICacheDependency. Подклассы должны переопределять метод generateDependentData для проверки фактических зависимостей.

Свойства общего доступа

Свойство Тип Описание Определено в
dependentData смешанный данные, используемые для определения изменения зависимости. CCacheDependency
hasChanged логическое изменилась ли зависимость. CCacheDependency
reuseDependentData логическое Можно ли повторно использовать эту зависимость. CCacheDependency

Методы общего доступа

Метод Описание Определено в
__call() Вызывает метод, который не является методом класса. CComponent
__get() Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. CComponent
__isset() Проверяет, является ли значение свойства нулевым. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в значение null. CComponent
asa() Возвращает объект поведения с заданным именем. CComponent
attachBehavior() Прикрепляет поведение к этому компоненту. CComponent
attachBehaviors() Прикрепляет список поведений к компоненту. CComponent
attachEventHandler() Прикрепляет обработчик событий к событию. CComponent
canGetProperty() Определяет, можно ли считать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
detachBehavior() Открепляет поведение от компонента. CComponent
detachBehaviors() Открепляет все поведения от компонента. CComponent
detachEventHandler() Открепляет существующий обработчик событий. CComponent
disableBehavior() Отключает присоединенное поведение. CComponent
disableBehaviors() Отключает все присоединенные поведения к этому компоненту. CComponent
enableBehavior() Включает присоединенное поведение. CComponent
enableBehaviors() Включает все присоединенные поведения к этому компоненту. CComponent
evaluateDependency() Оценивает зависимость, генерируя и сохраняя данные, связанные с зависимостью. CCacheDependency
evaluateExpression() Оценивает PHP-выражение или обратный вызов в контексте этого компонента. CComponent
getDependentData() Возвращает данные, используемые для определения изменения зависимости. Эти данные доступны после вызова evaluateDependency. CCacheDependency
getEventHandlers() Возвращает список присоединенных обработчиков событий для события. CComponent
getHasChanged() Возвращает значение, указывающее, изменилась ли зависимость. CCacheDependency
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, имеются ли присоединенные обработчики для указанного события. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
raiseEvent() Вызывает событие. CComponent
resetReusableData() Сбрасывает данные кэша для повторно используемых зависимостей. CCacheDependency

Защищенные методы

Метод Описание Определено в
generateDependentData() Генерирует данные, необходимые для определения изменения зависимости. CCacheDependency

Подробное описание свойств

dependentData свойство только для чтения

public mixed getDependentData()

данные, используемые для определения изменения зависимости. Эти данные доступны после вызова evaluateDependency.

hasChanged свойство только для чтения

public boolean getHasChanged()

изменилась ли зависимость.

reuseDependentData свойство (доступно с версии v1.1.11)

public boolean $reuseDependentData;

Можно ли повторно использовать эту зависимость. Если установлено в true, данные зависимостей для этой зависимости кэша будут генерироваться только один раз за запрос. Затем вы можете использовать ту же зависимость кэша для нескольких отдельных вызовов кэша на одной странице без накладных расходов на повторную оценку зависимости каждый раз. По умолчанию false;

Подробное описание методов

evaluateDependency() метод

public void evaluateDependency()
Исходный код: framework/caching/dependencies/CCacheDependency.php#51 (показать)
public function evaluateDependency()
{
    if (
$this->reuseDependentData)
    {
        
$hash=$this->getHash();
        if(!isset(
self::$_reusableData[$hash]['dependentData']))
            
self::$_reusableData[$hash]['dependentData']=$this->generateDependentData();
        
$this->_data=self::$_reusableData[$hash]['dependentData'];
    }
    else
        
$this->_data=$this->generateDependentData();
}

Оценивает зависимость, генерируя и сохраняя данные, связанные с зависимостью. Этот метод вызывается кэшем перед записью данных в него.

generateDependentData() метод

protected mixed generateDependentData()
{return} смешанный данные, необходимые для определения изменения зависимости.
Исходный код: framework/caching/dependencies/CCacheDependency.php#103 (показать)
protected function generateDependentData()
{
    return 
null;
}

Генерирует данные, необходимые для определения изменения зависимости. Производные классы должны переопределить этот метод для генерации фактических зависимых данных.

getDependentData() метод

public mixed getDependentData()
{return} смешанный тип данные, используемые для определения изменения зависимости. Эти данные доступны после вызова evaluateDependency.
Исходный код: framework/caching/dependencies/CCacheDependency.php#84 (показать)
public function getDependentData()
{
    return 
$this->_data;
}

getHasChanged() метод

public boolean getHasChanged()
{return} логический тип указывает, изменилась ли зависимость.
Исходный код: framework/caching/dependencies/CCacheDependency.php#67 (показать)
public function getHasChanged()
{
    if (
$this->reuseDependentData)
    {
        
$hash=$this->getHash();
        if(!isset(
self::$_reusableData[$hash]['dependentData']))
            
self::$_reusableData[$hash]['dependentData']=$this->generateDependentData();
        return 
self::$_reusableData[$hash]['dependentData']!=$this->_data;
    }
    else
        return 
$this->generateDependentData()!=$this->_data;
}

resetReusableData() метод (доступен начиная с v1.1.14)

public static void resetReusableData()
Исходный код: framework/caching/dependencies/CCacheDependency.php#93 (показать)
public static function resetReusableData()
{
    
self::$_reusableData=array();
}

Сбрасывает кэшированные данные для повторно используемых зависимостей.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CCacheDependency

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API