Spec-Zone.ru › Yii 1.1

CMysqlColumnSchema

Пакет system.db.schema.mysql
Наследование класс CMysqlColumnSchema » CDbColumnSchema » CComponent
С версии 1.0
Исходный код framework/db/schema/mysql/CMysqlColumnSchema.php
Класс CMysqlColumnSchema описывает метаданные столбца таблицы MySQL.

Общественные свойства

Свойство Тип Описание Определено в
allowNull boolean является ли столбец допустимым значением NULL. CDbColumnSchema
autoIncrement boolean является ли столбец автоинкрементным CDbColumnSchema
comment string комментарий к столбцу. CDbColumnSchema
dbType string тип БД для этого столбца. CDbColumnSchema
defaultValue mixed значение по умолчанию для этого столбца CDbColumnSchema
isForeignKey boolean является ли столбец внешним ключом CDbColumnSchema
isPrimaryKey boolean является ли столбец первичным ключом CDbColumnSchema
name string имя этого столбца (без кавычек). CDbColumnSchema
precision integer точность данных столбца, если это числовой тип. CDbColumnSchema
rawName string исходное имя этого столбца. CDbColumnSchema
scale integer масштаб данных столбца, если это числовой тип. CDbColumnSchema
size integer размер столбца. CDbColumnSchema
type string тип PHP этого столбца. CDbColumnSchema

Общественные методы

Метод Описание Определено в
__call() Вызывает метод, который не является методом класса. CComponent
__get() Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. CComponent
__isset() Проверяет, является ли значение свойства null. 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
evaluateExpression() Вычисляет выражение PHP или обратный вызов в контексте этого компонента. CComponent
getEventHandlers() Возвращает список прикрепленных обработчиков событий для события. CComponent
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли прикрепленные обработчики для заданного события. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
init() Инициализирует столбец с его типом БД и значением по умолчанию. CDbColumnSchema
raiseEvent() Вызывает событие. CComponent
typecast() Преобразует входное значение в тип, к которому относится этот столбец. CDbColumnSchema

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

Метод Описание Определено в
extractDefault() Извлекает значение по умолчанию для столбца. CMysqlColumnSchema
extractLimit() Извлекает информацию о размере, точности и масштабе из типа БД столбца. CMysqlColumnSchema
extractType() Извлекает тип PHP из типа БД. CMysqlColumnSchema

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

extractDefault() метод

protected void extractDefault(mixed $defaultValue)
$defaultValue mixed значение по умолчанию, полученное из метаданных
Исходный код: framework/db/schema/mysql/CMysqlColumnSchema.php#43 (показать)
protected function extractDefault($defaultValue)
{
    if(
strncmp($this->dbType,'bit',3)===0)
        
$this->defaultValue=bindec(trim($defaultValue,'b\''));
    elseif((
$this->dbType==='timestamp' || $this->dbType==='datetime')  && $defaultValue==='CURRENT_TIMESTAMP')
        
$this->defaultValue=null;
    else
        
parent::extractDefault($defaultValue);
}

Извлекает значение по умолчанию для столбца. Значение приводится к соответствующему типу PHP.

extractLimit() метод

protected void extractLimit(string $dbType)
$dbType string тип БД столбца
Исходный код: framework/db/schema/mysql/CMysqlColumnSchema.php#57 (показать)
protected function extractLimit($dbType)
{
    if (
strncmp($dbType, 'enum', 4)===0 && preg_match('/\(([\'"])(.*)\\1\)/',$dbType,$matches))
    {
        
// explode by (single or double) quote and comma (ENUM values may contain commas)
        
$values = explode($matches[1].','.$matches[1], $matches[2]);
        
$size = 0;
        foreach(
$values as $value)
        {
            if((
$n=strlen($value)) > $size)
                
$size=$n;
        }
        
$this->size = $this->precision = $size;
    }
    else
        
parent::extractLimit($dbType);
}

Извлекает информацию о размере, точности и масштабе из типа данных базы данных столбца.

extractType() метод

protected void extractType(string $dbType)
$dbType строка Тип данных базы данных
Исходный код: framework/db/schema/mysql/CMysqlColumnSchema.php#24 (показать)
protected function extractType($dbType)
{
    if(
strncmp($dbType,'enum',4)===0)
        
$this->type='string';
    elseif(
strpos($dbType,'float')!==false || strpos($dbType,'double')!==false)
        
$this->type='double';
    elseif(
strpos($dbType,'bool')!==false)
        
$this->type='boolean';
    elseif(
strpos($dbType,'int')===0 && strpos($dbType,'unsigned')===false || preg_match('/(bit|tinyint|smallint|mediumint)/',$dbType))
        
$this->type='integer';
    else
        
$this->type='string';
}

Извлекает тип PHP из типа данных базы данных.

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

Spec-Zone.ru

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