Spec-Zone.ru › Yii 1.1

CAttributeCollection

Пакет system.collections
Наследование class CAttributeCollection » CMap » CComponent
Реализует Countable, ArrayAccess, Traversable, IteratorAggregate
С версии 1.0
Исходный код framework/collections/CAttributeCollection.php
CAttributeCollection реализует коллекцию для хранения имён и значений атрибутов.

Помимо всех функциональных возможностей, предоставляемых классом CMap, CAttributeCollection позволяет получать и устанавливать значения атрибутов, как при работе со свойствами. Например, следующие операции допустимы для объекта CAttributeCollection:
$collection->text='text'; // same as:  $collection->add('text','text');
echo $collection->text;   // same as:  echo $collection->itemAt('text');


Чувствительность к регистру имён атрибутов может быть переключена путём установки свойства caseSensitive коллекции.

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

Свойство Тип Описание Определено в
caseSensitive boolean указывает, чувствительны ли ключи к регистру. CAttributeCollection
count integer Возвращает количество элементов в отображении. CMap
iterator CMapIterator Возвращает итератор для обхода элементов в списке. CMap
keys array список ключей CMap
readOnly boolean указывает, является ли отображение только для чтения. CMap

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

Метод Описание Определено в
__call() Вызывает метод с заданным именем, который не является методом класса. CComponent
__construct() Конструктор. CMap
__get() Возвращает значение свойства или список обработчиков событий по имени свойства или имени события. CAttributeCollection
__isset() Проверяет, является ли значение свойства null. CAttributeCollection
__set() Устанавливает значение свойства компонента. CAttributeCollection
__unset() Устанавливает свойство компонента в значение null. CAttributeCollection
add() Добавляет элемент в отображение. CAttributeCollection
asa() Возвращает объект поведения с заданным именем. CComponent
attachBehavior() Прикрепляет поведение к компоненту. CComponent
attachBehaviors() Прикрепляет список поведений к компоненту. CComponent
attachEventHandler() Прикрепляет обработчик событий к событию. CComponent
canGetProperty() Определяет, можно ли считать свойство. CAttributeCollection
canSetProperty() Определяет, можно ли установить свойство. CAttributeCollection
clear() Удаляет все элементы из отображения. CMap
contains() Возвращает, содержится ли указанный элемент в отображении. CAttributeCollection
copyFrom() Копирует данные, которые можно перебирать, в отображение. CMap
count() Возвращает количество элементов в отображении. CMap
detachBehavior() Открепляет поведение от компонента. CComponent
detachBehaviors() Открепляет все поведения от компонента. CComponent
detachEventHandler() Открепляет существующий обработчик событий. CComponent
disableBehavior() Отключает присоединённое поведение. CComponent
disableBehaviors() Отключает все присоединённые к этому компоненту поведения. CComponent
enableBehavior() Включает присоединённое поведение. CComponent
enableBehaviors() Включает все присоединённые к этому компоненту поведения. CComponent
evaluateExpression() Вычисляет PHP выражение или обратный вызов в контексте этого компонента. CComponent
getCount() Возвращает количество элементов в отображении. CMap
getEventHandlers() Возвращает список присоединённых обработчиков событий для события. CComponent
getIterator() Возвращает итератор для обхода элементов в списке. CMap
getKeys() Возвращает список ключей CMap
getReadOnly() Возвращает, является ли это отображение только для чтения. По умолчанию false. CMap
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли присоединённые обработчики для заданного события. CComponent
hasProperty() Определяет, определено ли свойство. CAttributeCollection
itemAt() Возвращает элемент с заданным ключом. CAttributeCollection
mergeArray() Рекурсивно объединяет два или более массивов в один. CMap
mergeWith() Объединяет перечисляемые данные в отображении. CAttributeCollection
offsetExists() Возвращает, существует ли элемент по заданному смещению. CMap
offsetGet() Возвращает элемент по заданному смещению. CMap
offsetSet() Устанавливает элемент по заданному смещению. CMap
offsetUnset() Удаляет элемент по заданному смещению. CMap
raiseEvent() Вызывает событие. CComponent
remove() Удаляет элемент из отображения по его ключу. CAttributeCollection
toArray() CMap

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

Метод Описание Определено в
setReadOnly() Устанавливает, является ли этот список только для чтения. CMap

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

caseSensitive свойство

public boolean $caseSensitive;

указывает, чувствительны ли ключи к регистру. По умолчанию false.

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

__get() метод

public mixed __get(string $name)
$name string имя свойства или имя события
{return} смешанный тип значение свойства или список обработчиков событий
Исходный код: framework/collections/CAttributeCollection.php#46 (показать)
public function __get($name)
{
    if(
$this->contains($name))
        return 
$this->itemAt($name);
    else
        return 
parent::__get($name);
}

Возвращает значение свойства или список обработчиков событий по имени свойства или события. Этот метод переопределяет реализацию родительского класса, возвращая значение ключа, если ключ существует в коллекции.

__isset() метод

public boolean __isset(string $name)
$name string имя свойства или имя события
{return} boolean является ли значение свойства null
Исходный код: framework/collections/CAttributeCollection.php#74 (показать)
public function __isset($name)
{
    if(
$this->contains($name))
        return 
$this->itemAt($name)!==null;
    else
        return 
parent::__isset($name);
}

Проверяет, является ли значение свойства null. Этот метод переопределяет реализацию родительского класса, проверяя, существует ли ключ в коллекции и содержит ли он ненулевое значение.

__set() метод

public void __set(string $name, mixed $value)
$name string имя свойства или имя события
$value смешанный тип значение свойства или обработчик события
Исходный код: framework/collections/CAttributeCollection.php#62 (показать)
public function __set($name,$value)
{
    
$this->add($name,$value);
}

Устанавливает значение свойства компонента. Этот метод переопределяет реализацию родительского класса, добавляя новое значение ключа в коллекцию.

__unset() метод

public void __unset(string $name)
$name string имя свойства или имя события
Исходный код: framework/collections/CAttributeCollection.php#88 (показать)
public function __unset($name)
{
    
$this->remove($name);
}

Устанавливает свойство компонента в значение null. Этот метод переопределяет реализацию родительского класса, очищая указанное значение ключа.

add() метод

public void add(mixed $key, mixed $value)
$key смешанный тип ключ
$value смешанный тип значение
Исходный код: framework/collections/CAttributeCollection.php#113 (показать)
public function add($key,$value)
{
    if(
$this->caseSensitive)
        
parent::add($key,$value);
    else
        
parent::add(strtolower($key),$value);
}

Добавляет элемент в карту. Это переопределяет реализацию родительского класса, сначала преобразуя ключ в нижний регистр, если caseSensitive имеет значение false.

canGetProperty() метод

public boolean canGetProperty(string $name)
$name string имя свойства
{return} boolean можно ли считать свойство
Исходный код: framework/collections/CAttributeCollection.php#168 (показать)
public function canGetProperty($name)
{
    return 
$this->contains($name) || parent::canGetProperty($name);
}

Определяет, можно ли считать свойство. Этот метод переопределяет реализацию родительского класса, возвращая true, если коллекция содержит указанный ключ.

canSetProperty() метод

public boolean canSetProperty(string $name)
$name string имя свойства
{return} boolean true
Исходный код: framework/collections/CAttributeCollection.php#180 (показать)
public function canSetProperty($name)
{
    return 
true;
}

Определяет, можно ли установить свойство. Этот метод переопределяет реализацию родительского класса, всегда возвращая true, так как вы всегда можете добавить новое значение в коллекцию.

contains() метод

public boolean contains(mixed $key)
$key смешанный тип ключ
{return} boolean содержит ли карта элемент с указанным ключом
Исходный код: framework/collections/CAttributeCollection.php#141 (показать)
public function contains($key)
{
    if(
$this->caseSensitive)
        return 
parent::contains($key);
    else
        return 
parent::contains(strtolower($key));
}

Возвращает, содержит ли указанный ключ элемент в карте. Это переопределяет реализацию родительского класса, сначала преобразуя ключ в нижний регистр, если caseSensitive равен false.

hasProperty() метод

public boolean hasProperty(string $name)
$name string имя свойства
{return} boolean определено ли свойство
Исходный код: framework/collections/CAttributeCollection.php#156 (показать)
public function hasProperty($name)
{
    return 
$this->contains($name) || parent::hasProperty($name);
}

Определяет, определено ли свойство. Этот метод переопределяет реализацию родительского класса, возвращая true, если коллекция содержит указанный ключ.

itemAt() метод

public mixed itemAt(mixed $key)
$key смешанный тип ключ
{return} смешанный тип элемент по указанному смещению, null, если элемент по смещению не найден
Исходный код: framework/collections/CAttributeCollection.php#99 (показать)
public function itemAt($key)
{
    if(
$this->caseSensitive)
        return 
parent::itemAt($key);
    else
        return 
parent::itemAt(strtolower($key));
}

Возвращает элемент с указанным ключом. Это переопределяет реализацию родительского класса, сначала преобразуя ключ в нижний регистр, если caseSensitive равен false.

mergeWith() метод

public void mergeWith(mixed $data, boolean $recursive=true)
$data смешанный тип данные для слияния, должны быть массивом или объектом, реализующим Traversable
$recursive boolean должно ли слияние быть рекурсивным.
Исходный код: framework/collections/CAttributeCollection.php#202 (показать)
public function mergeWith($data,$recursive=true)
{
    if(!
$this->caseSensitive && (is_array($data) || $data instanceof Traversable))
    {
        
$d=array();
        foreach(
$data as $key=>$value)
            
$d[strtolower($key)]=$value;
        return 
parent::mergeWith($d,$recursive);
    }
    
parent::mergeWith($data,$recursive);
}

Объединяет данные из итерируемого объекта в карту.

Существующие элементы в карте будут перезаписаны, если их ключи совпадают с ключами источника. Если слияние рекурсивное, выполняется следующий алгоритм:

  • данные карты сохраняются как $a, а данные источника — как $b;
  • если у $a и $b есть элементы с одинаковыми строковыми ключами, эти массивы будут объединены с использованием данного алгоритма;
  • любые целочисленные индексированные элементы в $b будут добавлены в $a и повторно проиндексированы соответственно;
  • любые строковые индексированные элементы в $b будут перезаписывать элементы в $a с одинаковым индексом;

remove() метод

public mixed remove(mixed $key)
$key смешанный тип ключ удаляемого элемента
{return} смешанный тип удаленное значение, null, если такого ключа нет.
Исходный код: framework/collections/CAttributeCollection.php#127 (показать)
public function remove($key)
{
    if(
$this->caseSensitive)
        return 
parent::remove($key);
    else
        return 
parent::remove(strtolower($key));
}

Удаляет элемент из карты по его ключу. Это переопределяет реализацию родительского класса, сначала преобразуя ключ в нижний регистр, если caseSensitive равен false.

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

Spec-Zone.ru

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