Класс yii\sphinx\Schema
| Наследование | yii\sphinx\Schema » yii\base\Object |
|---|---|
| Реализует | yii\base\Configurable |
| Доступно с версии | 2.0 |
| Исходный код | https://github.com/yiisoft/yii2-sphinx/blob/master/Schema.php |
Schema представляет информацию о схеме Sphinx.
Публичные свойства
| Свойство | Тип | Описание | Определено в |
|---|---|---|---|
| $db | yii\sphinx\Connection | Подключение к Sphinx | yii\sphinx\Schema |
| $indexNames | string[] | Все имена индексов в Sphinx. | yii\sphinx\Schema |
| $indexSchemas | yii\sphinx\IndexSchema[] | Метаданные для всех индексов в Sphinx. | yii\sphinx\Schema |
| $indexTypes | массив | Все типы индексов в Sphinx в формате: имя индекса => тип индекса. | yii\sphinx\Schema |
| $queryBuilder | yii\sphinx\QueryBuilder | Конструктор запросов для этого подключения. | yii\sphinx\Schema |
| $typeMap | массив | Сопоставление физических типов столбцов (ключи) с абстрактными типами столбцов (значения) | yii\sphinx\Schema |
Публичные методы
| Метод | Описание | Определено в |
|---|---|---|
| __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 |
| convertException() | Преобразует исключение базы данных в более конкретное, если это возможно. | yii\sphinx\Schema |
| createQueryBuilder() | Создает конструктор запросов для Sphinx. | yii\sphinx\Schema |
| getIndexNames() | Возвращает все имена индексов в Sphinx. | yii\sphinx\Schema |
| getIndexSchema() | Получает метаданные для указанного индекса. | yii\sphinx\Schema |
| getIndexSchemas() | Возвращает метаданные для всех индексов в базе данных. | yii\sphinx\Schema |
| getIndexTypes() | Возвращает все типы индексов в Sphinx. | yii\sphinx\Schema |
| getPdoType() | Определяет тип PDO для данного значения данных PHP. | yii\sphinx\Schema |
| getQueryBuilder() | yii\sphinx\Schema | |
| getRawIndexName() | Возвращает фактическое имя данного имени индекса. | yii\sphinx\Schema |
| hasMethod() | Возвращает значение, указывающее, определен ли метод. | yii\base\Object |
| hasProperty() | Возвращает значение, указывающее, определено ли свойство. | yii\base\Object |
| init() | Инициализирует объект. | yii\base\Object |
| isReadQuery() | Возвращает значение, указывающее, предназначен ли оператор SQL для чтения. | yii\sphinx\Schema |
| quoteColumnName() | Приводит имя столбца в цитаты для использования в запросе. | yii\sphinx\Schema |
| quoteIndexName() | Приводит имя индекса в цитаты для использования в запросе. | yii\sphinx\Schema |
| quoteSimpleColumnName() | Приводит имя столбца в цитаты для использования в запросе. | yii\sphinx\Schema |
| quoteSimpleIndexName() | Приводит имя индекса в цитаты для использования в запросе. | yii\sphinx\Schema |
| quoteValue() | Приводит строковое значение в цитаты для использования в запросе. | yii\sphinx\Schema |
| refresh() | Обновляет схему. | yii\sphinx\Schema |
Защищенные методы
| Метод | Описание | Определено в |
|---|---|---|
| applyDefaultColumns() | Устанавливает столбцы по умолчанию для данного индекса. | yii\sphinx\Schema |
| findColumns() | Собрать метаданные столбцов индекса. | yii\sphinx\Schema |
| findIndexes() | Возвращает все имена индексов в Sphinx. | yii\sphinx\Schema |
| getCacheKey() | Возвращает ключ кэша для указанного имени индекса. | yii\sphinx\Schema |
| getCacheTag() | Возвращает имя тега кэша. | yii\sphinx\Schema |
| getColumnPhpType() | Извлекает тип PHP из абстрактного типа БД. | yii\sphinx\Schema |
| initIndexesInfo() | Инициализирует информацию об имени и типе всех индексов в Sphinx. | yii\sphinx\Schema |
| loadColumnSchema() | Загружает информацию о столбце в объект yii\sphinx\ColumnSchema. | yii\sphinx\Schema |
| loadIndexSchema() | Загружает метаданные для указанного индекса. | yii\sphinx\Schema |
| resolveIndexNames() | Разрешает имя индекса. | yii\sphinx\Schema |
| resolveIndexType() | Разрешает имя индекса. | yii\sphinx\Schema |
Константы
| Константа | Значение | Описание | Определено в |
|---|---|---|---|
| TYPE_BIGINT | 'bigint' | yii\sphinx\Schema | |
| TYPE_BOOLEAN | 'boolean' | yii\sphinx\Schema | |
| TYPE_FLOAT | 'float' | yii\sphinx\Schema | |
| TYPE_INTEGER | 'integer' | yii\sphinx\Schema | |
| TYPE_PK | 'pk' | Следующие являются поддерживаемыми абстрактными типами данных столбцов. | yii\sphinx\Schema |
| TYPE_STRING | 'string' | yii\sphinx\Schema | |
| TYPE_TIMESTAMP | 'timestamp' | yii\sphinx\Schema |
Подробное описание свойств
$db общедоступное свойство
Подключение к Sphinx
public yii\sphinx\Connection $db = null
$indexNames общедоступное только для чтения свойство
Все имена индексов в Sphinx.
public string[] getIndexNames ( $refresh = false )
$indexSchemas общедоступное только для чтения свойство
Метаданные для всех индексов в Sphinx. Каждый элемент массива — экземпляр yii\sphinx\IndexSchema или его дочернего класса.
public yii\sphinx\IndexSchema[] getIndexSchemas ( $refresh = false )
$indexTypes общедоступное только для чтения свойство
Все типы индексов в Sphinx в формате: имя индекса => тип индекса.
public array getIndexTypes ( $refresh = false )
$queryBuilder общедоступное только для чтения свойство
Построитель запросов для этого подключения.
public yii\sphinx\QueryBuilder getQueryBuilder ( )
$typeMap общедоступное свойство
Сопоставление физических типов столбцов (ключи) с абстрактными типами столбцов (значения)
public array $typeMap = ['field' => self::TYPE_STRING, 'string' => self::TYPE_STRING, 'ordinal' => self::TYPE_STRING, 'integer' => self::TYPE_INTEGER, 'int' => self::TYPE_INTEGER, 'uint' => self::TYPE_INTEGER, 'bigint' => self::TYPE_BIGINT, 'timestamp' => self::TYPE_TIMESTAMP, 'bool' => self::TYPE_BOOLEAN, 'float' => self::TYPE_FLOAT, 'mva' => self::TYPE_INTEGER]
Подробное описание методов
applyDefaultColumns() защищённый метод (доступен с версии 2.0.6)
Настраивает стандартные столбцы для данного индекса.
Этот метод следует использовать в случае, если невозможно определить фактические столбцы, например, в некоторых распределённых индексах.
| protected void applyDefaultColumns ( $index ) | ||
|---|---|---|
| $index | yii\sphinx\IndexSchema |
Метаданные индекса |
convertException() публичный метод
Преобразует исключение DB в более конкретное, если возможно.
| public yii\db\Exception convertException ( Exception $e, $rawSql ) | ||
|---|---|---|
| $e | Exception | |
| $rawSql | string |
SQL, вызвавший исключение |
createQueryBuilder() публичный метод
Создаёт генератор запросов для Sphinx.
| public yii\sphinx\QueryBuilder createQueryBuilder ( ) | ||
|---|---|---|
| return | yii\sphinx\QueryBuilder |
Экземпляр генератора запросов |
findColumns() защищённый метод
Сбор метаданных столбцов индекса.
| protected boolean findColumns ( $index ) | ||
|---|---|---|
| $index | yii\sphinx\IndexSchema |
Метаданные индекса |
| return | boolean |
Существует ли индекс в базе данных |
| throws | Exception |
если запрос к базе данных завершается ошибкой |
findIndexes() защищённый метод
Возвращает все имена индексов в Sphinx.
| protected array findIndexes ( ) | ||
|---|---|---|
| return | array |
Все имена индексов в Sphinx. |
getCacheKey() защищённый метод
Возвращает ключ кэша для указанного имени индекса.
| protected mixed getCacheKey ( $name ) | ||
|---|---|---|
| $name | string |
Имя индекса |
| return | mixed |
Ключ кэша |
getCacheTag() защищённый метод
Возвращает имя тега кэша.
Это позволяет методу refresh() аннулировать все кэшированные схемы индексов.
| protected string getCacheTag ( ) | ||
|---|---|---|
| return | string |
Имя тега кэша |
getColumnPhpType() защищённый метод
Извлекает тип PHP из абстрактного типа DB.
| protected string getColumnPhpType ( $column ) | ||
|---|---|---|
| $column | yii\sphinx\ColumnSchema |
Информация о схеме столбца |
| return | string |
Имя типа PHP |
getIndexNames() публичный метод
Возвращает все имена индексов в Sphinx.
| public string[] getIndexNames ( $refresh = false ) | ||
|---|---|---|
| $refresh | boolean |
Перезагружать ли последние доступные имена индексов. Если false, возвращаются ранее полученные (если доступны). |
| return | string[] |
Все имена индексов в Sphinx. |
getIndexSchema() публичный метод
Получает метаданные для указанного индекса.
| public yii\sphinx\IndexSchema|null getIndexSchema ( $name, $refresh = false ) | ||
|---|---|---|
| $name | string |
Имя индекса. Имя индекса может содержать имя схемы, если таковое имеется. Не заключайте имя индекса в кавычки. |
| $refresh | boolean |
Перезагружать ли схему индекса, даже если она найдена в кэше. |
| return | yii\sphinx\IndexSchema|null |
Метаданные индекса. |
getIndexSchemas() публичный метод
Возвращает метаданные для всех индексов в базе данных.
| public yii\sphinx\IndexSchema[] getIndexSchemas ( $refresh = false ) | ||
|---|---|---|
| $refresh | boolean |
Перезагружать ли последние доступные схемы индексов. Если false, могут быть возвращены данные из кэша, если они доступны. |
| return | yii\sphinx\IndexSchema[] |
Метаданные для всех индексов в Sphinx. Каждый элемент массива — экземпляр yii\sphinx\IndexSchema или его дочернего класса. |
getIndexTypes() публичный метод
Возвращает все типы индексов в Sphinx.
| public array getIndexTypes ( $refresh = false ) | ||
|---|---|---|
| $refresh | boolean |
Перезагружать ли последние доступные типы индексов. Если false, возвращаются ранее полученные типы (если доступны). |
| return | array |
Все типы индексов в Sphinx в формате: имя индекса => тип индекса. |
getPdoType() публичный метод
Определяет тип PDO для данного значения данных PHP.
См. также http://www.php.net/manual/en/pdo.constants.php.
| public integer getPdoType ( $data ) | ||
|---|---|---|
| $data | mixed |
Данные, для которых необходимо определить тип PDO |
| return | integer |
Тип PDO |
getQueryBuilder() публичный метод
| public yii\sphinx\QueryBuilder getQueryBuilder ( ) | ||
|---|---|---|
| return | yii\sphinx\QueryBuilder |
Генератор запросов для этого подключения. |
getRawIndexName() публичный метод
Возвращает фактическое имя данного имени индекса.
Этот метод удалит фигурные скобки из данного имени индекса и заменит символ процента '%' префиксом индекса yii\sphinx\Connection::indexPrefix.
| public string getRawIndexName ( $name ) | ||
|---|---|---|
| $name | string |
Имя индекса для преобразования |
| return | string |
Действительное имя данного имени индекса |
initIndexesInfo() защищённый метод
Инициализирует информацию об имени и типе всех индексов в Sphinx.
| protected void initIndexesInfo ( ) |
|---|
isReadQuery() публичный метод
Возвращает значение, указывающее, предназначен ли SQL-запрос для чтения.
| public boolean isReadQuery ( $sql ) | ||
|---|---|---|
| $sql | string |
Запрос SQL |
| return | boolean |
Является ли SQL-запрос запросом для чтения. |
loadColumnSchema() protected method
Загружает информацию о столбце в объект yii\sphinx\ColumnSchema.
| protected yii\sphinx\ColumnSchema loadColumnSchema ( $info ) | ||
|---|---|---|
| $info | array |
Информация о столбце |
| return | yii\sphinx\ColumnSchema |
Объект схемы столбца |
loadIndexSchema() protected method
Загружает метаданные для указанного индекса.
| protected yii\sphinx\IndexSchema|null loadIndexSchema ( $name ) | ||
|---|---|---|
| $name | string |
Имя индекса |
| return | yii\sphinx\IndexSchema|null |
Метаданные индекса, зависящие от драйвера. |
quoteColumnName() public method
Выделяет имя столбца для использования в запросе.
Если имя столбца содержит префикс, префикс также будет правильно выделен. Если имя столбца уже выделено или содержит '(', '[[' или '{{', этот метод ничего не сделает.
См. также quoteSimpleColumnName().
| public string quoteColumnName ( $name ) | ||
|---|---|---|
| $name | string |
Имя столбца |
| return | string |
Правильно выделенное имя столбца |
quoteIndexName() public method
Выделяет имя индекса для использования в запросе.
Если имя индекса содержит префикс схемы, префикс также будет правильно выделен. Если имя индекса уже выделено или содержит '(' или '{{', этот метод ничего не сделает.
См. также \yii\sphinx\quoteSimpleTableName.
| public string quoteIndexName ( $name ) | ||
|---|---|---|
| $name | string |
Имя индекса |
| return | string |
Правильно выделенное имя индекса |
quoteSimpleColumnName() public method
Выделяет имя столбца для использования в запросе.
Простое имя столбца не имеет префикса.
| public string quoteSimpleColumnName ( $name ) | ||
|---|---|---|
| $name | string |
Имя столбца |
| return | string |
Правильно выделенное имя столбца |
quoteSimpleIndexName() public method
Выделяет имя индекса для использования в запросе.
Простое имя индекса не имеет префикса схемы.
| public string quoteSimpleIndexName ( $name ) | ||
|---|---|---|
| $name | string |
Имя индекса |
| return | string |
Правильно выделенное имя индекса |
quoteValue() public method
Выделяет строковое значение для использования в запросе.
Обратите внимание, что если параметр не является строкой, он возвращается без изменений.
См. также http://www.php.net/manual/en/function.PDO-quote.php.
| public string quoteValue ( $str ) | ||
|---|---|---|
| $str | string |
Строка для выделения |
| return | string |
Правильно выделенная строка |
refresh() public method
Обновляет схему.
Этот метод очищает все кэшированные схемы индексов, чтобы их можно было позже пересоздать, отражая изменения схемы Sphinx.
| public void refresh ( ) |
|---|
resolveIndexNames() protected method
Разрешает имя индекса.
| protected void resolveIndexNames ( $index, $name ) | ||
|---|---|---|
| $index | yii\sphinx\IndexSchema |
Объект метаданных индекса |
| $name | string |
Имя индекса |
resolveIndexType() protected method
Разрешает тип индекса.
| protected void resolveIndexType ( $index ) | ||
|---|---|---|
| $index | yii\sphinx\IndexSchema |
Объект метаданных индекса |
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-sphinx-schema.html