Spec-Zone.ru › Yii 1.1

CDataProvider

Пакет system.web
Наследование абстрактный класс CDataProvider » CComponent
Реализует IDataProvider
Подклассы CActiveDataProvider, CArrayDataProvider, CSqlDataProvider
С версии 1.1
Исходный код framework/web/CDataProvider.php
CDataProvider — базовый класс, реализующий интерфейс IDataProvider.

Производным классам в основном необходимо реализовать три метода: fetchData, fetchKeys и calculateTotalItemCount.

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

Свойство Тип Описание Определено
data массив Возвращает элементы данных, доступные в данный момент. CDataProvider
id строка Возвращает идентификатор, уникально определяющий источник данных. CDataProvider
itemCount целое число Возвращает количество элементов данных на текущей странице. CDataProvider
keys массив Возвращает значения ключей, связанные с элементами данных. CDataProvider
pagination CPagination|ложь Возвращает объект постраничной навигации. CDataProvider
sort CSort|ложь Возвращает объект сортировки. CDataProvider
totalItemCount целое число Возвращает общее количество элементов данных. CDataProvider

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

Метод Описание Определено
__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
getData() Возвращает элементы данных, доступные в данный момент. CDataProvider
getEventHandlers() Возвращает список присоединенных обработчиков событий для события. CComponent
getId() Возвращает ID, уникально определяющий источник данных. CDataProvider
getItemCount() Возвращает количество элементов данных на текущей странице. CDataProvider
getKeys() Возвращает значения ключей, связанные с элементами данных. CDataProvider
getPagination() Возвращает объект постраничной навигации. CDataProvider
getSort() Возвращает объект сортировки. CDataProvider
getTotalItemCount() Возвращает общее количество элементов данных. CDataProvider
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, имеет ли указанное событие присоединенные обработчики. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
raiseEvent() Вызывает событие. CComponent
setData() Устанавливает элементы данных для этого источника данных. CDataProvider
setId() Устанавливает идентификатор источника данных. CDataProvider
setKeys() Устанавливает ключи элементов данных для этого источника данных. CDataProvider
setPagination() Устанавливает постраничную навигацию для этого источника данных. CDataProvider
setSort() Устанавливает сортировку для этого источника данных. CDataProvider
setTotalItemCount() Устанавливает общее количество элементов данных. CDataProvider

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

Метод Описание Определено
calculateTotalItemCount() Вычисляет общее количество элементов данных. CDataProvider
fetchData() Извлекает данные из постоянного хранилища данных. CDataProvider
fetchKeys() Извлекает ключи элементов данных из постоянного хранилища данных. CDataProvider

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

data свойство

public array getData(boolean $refresh=false)
public void setData(array $value)

Возвращает элементы данных, доступные в данный момент.

id свойство

public string getId()
public void setId(string $value)

Возвращает ID, уникально определяющий источник данных.

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

public integer getItemCount(boolean $refresh=false)

Возвращает количество элементов данных на текущей странице. Это эквивалентно count($provider->getData()). Когда страничная навигация установлена в false, это возвращает то же значение, что и totalItemCount.

keys свойство

public array getKeys(boolean $refresh=false)
public void setKeys(array $value)

Возвращает значения ключей, связанные с элементами данных.

pagination свойство

public CPagination|false getPagination(string $className='CPagination')
public void setPagination(mixed $value)

Возвращает объект страничной навигации.

sort свойство

public CSort|false getSort(string $className='CSort')
public void setSort(mixed $value)

Возвращает объект сортировки.

totalItemCount свойство

public integer getTotalItemCount(boolean $refresh=false)
public void setTotalItemCount(integer $value)

Возвращает общее количество элементов данных. Когда страничная навигация установлена в false, это возвращает то же значение, что и itemCount.

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

calculateTotalItemCount() метод

abstract protected integer calculateTotalItemCount()
{return} целое число общее количество элементов данных.
Исходный код: framework/web/CDataProvider.php#44 (показать)
abstract protected function calculateTotalItemCount();

Вычисляет общее количество элементов данных.

fetchData() метод

abstract protected array fetchData()
{return} массив список элементов данных
Исходный код: framework/web/CDataProvider.php#34 (показать)
abstract protected function fetchData();

Извлекает данные из постоянного хранилища данных.

fetchKeys() метод

abstract protected array fetchKeys()
{return} массив список ключей элементов данных.
Исходный код: framework/web/CDataProvider.php#39 (показать)
abstract protected function fetchKeys();

Извлекает ключи элементов данных из постоянного хранилища данных.

getData() метод

public array getData(boolean $refresh=false)
$refresh логическое значение указывает, следует ли повторно извлекать данные из постоянного хранилища.
{return} массив список элементов данных, в настоящее время доступных в этом поставщике данных.
Исходный код: framework/web/CDataProvider.php#165 (показать)
public function getData($refresh=false)
{
    if(
$this->_data===null || $refresh)
        
$this->_data=$this->fetchData();
    return 
$this->_data;
}

Возвращает доступные в данный момент элементы данных.

getId() метод

public string getId()
{return} строка уникальный идентификатор, который однозначно идентифицирует поставщика данных среди всех поставщиков данных.
Исходный код: framework/web/CDataProvider.php#50 (показать)
public function getId()
{
    return 
$this->_id;
}

Возвращает идентификатор, который однозначно идентифицирует поставщика данных.

getItemCount() метод

public integer getItemCount(boolean $refresh=false)
$refresh логическое значение указывает, следует ли повторно рассчитывать количество элементов данных.
{return} целое число количество элементов данных на текущей странице.
Исходный код: framework/web/CDataProvider.php#210 (показать)
public function getItemCount($refresh=false)
{
    return 
count($this->getData($refresh));
}

Возвращает количество элементов данных на текущей странице. Это эквивалентно count($provider->getData()). Когда страничная навигация установлена в false, это возвращает то же значение, что и totalItemCount.

getKeys() метод

public array getKeys(boolean $refresh=false)
$refresh логическое значение указывает, следует ли повторно рассчитывать ключи.
{return} массив список значений ключей, соответствующих данным. Каждый элемент данных в данных уникально идентифицируется соответствующим значением ключа в этом массиве.
Исходный код: framework/web/CDataProvider.php#187 (показать)
public function getKeys($refresh=false)
{
    if(
$this->_keys===null || $refresh)
        
$this->_keys=$this->fetchKeys();
    return 
$this->_keys;
}

Возвращает значения ключей, связанные с элементами данных.

getPagination() метод

public CPagination|false getPagination(string $className='CPagination')
$className строка имя класса объекта страничной навигации. Параметр доступен начиная с версии 1.1.13.
{return} CPagination|false объект страничной навигации. Если это false, это означает, что страничная навигация отключена.
Исходный код: framework/web/CDataProvider.php#69 (показать)
public function getPagination($className='CPagination')
{
    if(
$this->_pagination===null)
    {
        
$this->_pagination=new $className;
        if((
$id=$this->getId())!='')
            
$this->_pagination->pageVar=$id.'_page';
    }
    return 
$this->_pagination;
}

Возвращает объект страничной навигации.

getSort() метод

public CSort|false getSort(string $className='CSort')
$className строка имя класса объекта сортировки. Параметр доступен начиная с версии 1.1.13.
{return} CSort|false объект сортировки. Если это false, это означает, что сортировка отключена.
Исходный код: framework/web/CDataProvider.php#117 (показать)
public function getSort($className='CSort')
{
    if(
$this->_sort===null)
    {
        
$this->_sort=new $className;
        if((
$id=$this->getId())!='')
            
$this->_sort->sortVar=$id.'_sort';
    }
    return 
$this->_sort;
}

Возвращает объект сортировки.

getTotalItemCount() метод

public integer getTotalItemCount(boolean $refresh=false)
$refresh логическое значение указывает, следует ли повторно рассчитывать общее количество элементов данных.
{return} целое число общее количество возможных элементов данных.
Исходный код: framework/web/CDataProvider.php#221 (показать)
public function getTotalItemCount($refresh=false)
{
    if(
$this->_totalItemCount===null || $refresh)
        
$this->_totalItemCount=$this->calculateTotalItemCount();
    return 
$this->_totalItemCount;
}

Возвращает общее количество элементов данных. Когда страничная навигация установлена в false, это возвращает то же значение, что и itemCount.

setData() метод

public void setData(array $value)
$value массив помещает элементы данных в этот поставщик.
Исходный код: framework/web/CDataProvider.php#176 (показать)
public function setData($value)
{
    
$this->_data=$value;
}

Устанавливает элементы данных для этого поставщика.

setId() метод

public void setId(string $value)
$value строка уникальный идентификатор, который однозначно идентифицирует поставщика данных среди всех поставщиков данных.
Исходный код: framework/web/CDataProvider.php#59 (показать)
public function setId($value)
{
    
$this->_id=$value;
}

Устанавливает идентификатор поставщика.

setKeys() метод

public void setKeys(array $value)
$value массив помещает ключи элементов данных в этот поставщик.
Исходный код: framework/web/CDataProvider.php#198 (показать)
public function setKeys($value)
{
    
$this->_keys=$value;
}

Устанавливает ключи элементов данных для этого поставщика.

setPagination() метод

public void setPagination(mixed $value)
$value mixed используемая для данного поставщика данных постраничная навигация. Это может быть объект CPagination или массив для настройки объекта постраничной навигации. Если значение ложно, это означает, что постраничная навигация должна быть отключена.

Вы можете настроить это свойство так же, как и компонент:
array(
    'class' => 'MyPagination',
    'pageSize' => 20,
),
Исходный код: framework/web/CDataProvider.php#93 (показать)
public function setPagination($value)
{
    if(
is_array($value))
    {
        if(isset(
$value['class']))
        {
            
$pagination=$this->getPagination($value['class']);
            unset(
$value['class']);
        }
        else
            
$pagination=$this->getPagination();

        foreach(
$value as $k=>$v)
            
$pagination->$k=$v;
    }
    else
        
$this->_pagination=$value;
}

Устанавливает постраничную навигацию для данного поставщика данных.

setSort() метод

public void setSort(mixed $value)
$value mixed сортировка, используемая данным поставщиком данных. Это может быть объект CSort или массив для настройки объекта сортировки. Если значение ложно, это означает, что сортировка должна быть отключена.

Вы можете настроить это свойство так же, как и компонент:
array(
    'class' => 'MySort',
    'attributes' => array('name', 'weight'),
),
Исходный код: framework/web/CDataProvider.php#141 (показать)
public function setSort($value)
{
    if(
is_array($value))
    {
        if(isset(
$value['class']))
        {
            
$sort=$this->getSort($value['class']);
            unset(
$value['class']);
        }
        else
            
$sort=$this->getSort();

        foreach(
$value as $k=>$v)
            
$sort->$k=$v;
    }
    else
        
$this->_sort=$value;
}

Устанавливает сортировку для данного поставщика данных.

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

public void setTotalItemCount(integer $value)
$value integer общее количество элементов данных.
Исходный код: framework/web/CDataProvider.php#234 (показать)
public function setTotalItemCount($value)
{
    
$this->_totalItemCount=$value;
}

Устанавливает общее количество элементов данных. Этот метод предоставляется в случае, когда общее количество нельзя определить с помощью calculateTotalItemCount.

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

Spec-Zone.ru

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