Класс yii\caching\DbQueryDependency
| Наследование | yii\caching\DbQueryDependency » yii\caching\Dependency » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0.12 |
| Исходный код | https://github.com/yiisoft/yii2/blob/master/framework/caching/DbQueryDependency.php |
DbQueryDependency представляет зависимость, основанную на результатах запроса экземпляра yii\db\QueryInterface.
Если результат запроса изменяется, зависимость считается изменённой. Запрос указывается через свойство $query.
Можно использовать объект любого класса, соответствующего yii\db\QueryInterface, поэтому эта зависимость может быть использована не только с обычными реляционными базами данных, но и с MongoDB, Redis и т. д.
Дополнительную информацию и инструкции по использованию кэша см. в статье руководства по кэшированию.
См. также yii\db\QueryInterface.
Общедоступные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $data | mixed | Данные зависимости, которые сохраняются в кэше и затем сравниваются с последними данными зависимости. | yii\caching\Dependency |
| $db | string|array|object | Идентификатор компонента приложения для подключения к базе данных, объект подключения или его конфигурация в виде массива. | yii\caching\DbQueryDependency |
| $method | string|callable | Метод, который должен быть вызван над объектом $query. | yii\caching\DbQueryDependency |
| $query | yii\db\QueryInterface | Запрос, результат которого используется для определения того, была ли зависимость изменена. | yii\caching\DbQueryDependency |
| $reusable | boolean | Является ли эта зависимость повторно используемой. | yii\caching\Dependency |
Общедоступные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | yii\base\Object |
| __construct() | Конструктор. | yii\base\Object |
| __get() | Возвращает значение свойства объекта. | yii\base\Object |
| __isset() | Проверяет, установлено ли свойство, т.е. определено и не равно null. | yii\base\Object |
| __set() | Устанавливает значение свойства объекта. | yii\base\Object |
| __unset() | Устанавливает свойство объекта в null. | yii\base\Object |
| canGetProperty() | Возвращает значение, указывающее, можно ли считать свойство. | yii\base\Object |
| canSetProperty() | Возвращает значение, указывающее, можно ли установить свойство. | yii\base\Object |
| className() | Возвращает полное имя этого класса. | yii\base\Object |
| evaluateDependency() | Оценивает зависимость, генерируя и сохраняя данные, связанные с зависимостью. | yii\caching\Dependency |
| getHasChanged() | Возвращает значение, указывающее, изменилась ли зависимость. | yii\caching\Dependency |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| isChanged() | Проверяет, изменилась ли зависимость. | yii\caching\Dependency |
| resetReusableData() | Сбрасывает все кэшированные данные для повторно используемых зависимостей. | yii\caching\Dependency |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| generateDependencyData() | Генерирует данные, необходимые для определения, изменилась ли зависимость. | yii\caching\DbQueryDependency |
| generateReusableHash() | Генерирует уникальный хэш, который можно использовать для извлечения данных повторно используемой зависимости. | yii\caching\Dependency |
Подробное описание свойств
$db общедоступное свойство
Идентификатор компонента приложения базы данных, объект подключения или его конфигурация в виде массива. Это поле может быть оставлено пустым, что позволит запросу автоматически определить подключение.
public string|array|object $db = null
$method общедоступное свойство
Метод, который должен быть вызван над объектом $query.
Если указано как строка, вызывается собственный метод запроса с таким именем, передавая значение $db в качестве первого аргумента. Например: exists, all.
Это поле может быть указано как PHP обратный вызов следующей сигнатуры:
function (QueryInterface $query, mixed $db) {
//return mixed;
}
Если не задано — будет использоваться yii\db\QueryInterface::one().
public string|callable $method = null
$query общедоступное свойство
Запрос, результат которого используется для определения, изменилась ли зависимость. Фактический метод запроса для вызова определяется свойством $method.
public yii\db\QueryInterface $query = null
Подробное описание методов
generateDependencyData() защищённый метод
Генерирует данные, необходимые для определения, изменилась ли зависимость.
Этот метод возвращает результат запроса
| защищённый смешанный generateDependencyData ( $cache ) | ||
|---|---|---|
| $cache | yii\caching\CacheInterface |
Компонент кэширования, в данный момент оценивающий эту зависимость |
| возвращает | смешанный |
Данные, необходимые для определения, была ли изменена зависимость. |
| бросает | yii\base\InvalidConfigException |
при некорректной конфигурации. |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-caching-dbquerydependency.html