Spec-Zone.ru › Yii 1.1

CStack

Пакет system.collections
Наследование class CStack » CComponent
Реализует IteratorAggregate, Traversable, Countable
С версии 1.0
Исходный код framework/collections/CStack.php
CStack реализует стек.

Реализованы типичные операции стека, включая push(), pop() и peek(). Кроме того, contains() можно использовать для проверки, содержится ли элемент в стеке. Чтобы получить количество элементов в стеке, проверьте свойство Count.

Элементы стека можно перебирать с помощью foreach следующим образом,
foreach($stack as $item) ...

Свойства общедоступные

Свойство Тип Описание Определено в
count integer Возвращает количество элементов в стеке. CStack
iterator Iterator Возвращает итератор для перебора элементов в стеке. CStack

Методы общедоступные

Метод Описание Определено в
__call() Вызывает именованный метод, который не является методом класса. CComponent
__construct() Конструктор. CStack
__get() Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. CComponent
__isset() Проверяет, является ли значение свойства null. CComponent
__set() Устанавливает значение свойства компонента. CComponent
__unset() Устанавливает свойство компонента в null. CComponent
asa() Возвращает объект поведения с указанным именем. CComponent
attachBehavior() Присоединяет поведение к этому компоненту. CComponent
attachBehaviors() Присоединяет список поведений к компоненту. CComponent
attachEventHandler() Присоединяет обработчик событий к событию. CComponent
canGetProperty() Определяет, можно ли прочитать свойство. CComponent
canSetProperty() Определяет, можно ли установить свойство. CComponent
clear() Удаляет все элементы из стека. CStack
contains() CStack
copyFrom() Копирует данные из итерируемого источника в стек. CStack
count() Возвращает количество элементов в стеке. CStack
detachBehavior() Отсоединяет поведение от компонента. CComponent
detachBehaviors() Отсоединяет все поведения от компонента. CComponent
detachEventHandler() Отсоединяет существующего обработчика событий. CComponent
disableBehavior() Отключает присоединенное поведение. CComponent
disableBehaviors() Отключает все присоединенные к этому компоненту поведения. CComponent
enableBehavior() Включает присоединенное поведение. CComponent
enableBehaviors() Включает все присоединенные к этому компоненту поведения. CComponent
evaluateExpression() Вычисляет PHP-выражение или обратный вызов в контексте этого компонента. CComponent
getCount() Возвращает количество элементов в стеке. CStack
getEventHandlers() Возвращает список присоединённых обработчиков событий для события. CComponent
getIterator() Возвращает итератор для перебора элементов в стеке. CStack
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, есть ли присоединенные обработчики для события с указанным именем. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
peek() Возвращает элемент вверху стека. CStack
pop() Извлекает элемент из вершины стека. CStack
push() Добавляет элемент в стек. CStack
raiseEvent() Вызывает событие. CComponent
toArray() CStack

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

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

public integer getCount()

Возвращает количество элементов в стеке.

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

public Iterator getIterator()

Возвращает итератор для перебора элементов в стеке. Этот метод необходим для интерфейса IteratorAggregate.

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

__construct() метод

public void __construct(array $data=NULL)
$data array начальные данные. По умолчанию null, что означает отсутствие инициализации.
Исходный код: framework/collections/CStack.php#51 (показать)
public function __construct($data=null)
{
    if(
$data!==null)
        
$this->copyFrom($data);
}

Конструктор. Инициализирует стек массивом или итерируемым объектом.

clear() метод

public void clear()
Исходный код: framework/collections/CStack.php#89 (показать)
public function clear()
{
    
$this->_c=0;
    
$this->_d=array();
}

Удаляет все элементы из стека.

contains() метод

public boolean contains(mixed $item)
$item mixed элемент
{return} boolean содержит ли стек элемент
Исходный код: framework/collections/CStack.php#99 (показать)
public function contains($item)
{
    return 
array_search($item,$this->_d,true)!==false;
}

copyFrom() метод

public void copyFrom(mixed $data)
$data mixed данные для копирования, должен быть массивом или объектом, реализующим Traversable
Исходный код: framework/collections/CStack.php#71 (показать)
public function copyFrom($data)
{
    if(
is_array($data) || ($data instanceof Traversable))
    {
        
$this->clear();
        foreach(
$data as $item)
        {
            
$this->_d[]=$item;
            ++
$this->_c;
        }
    }
    elseif(
$data!==null)
        throw new 
CException(Yii::t('yii','Stack data must be an array or an object implementing Traversable.'));
}

Копирует данные из итерируемого объекта в стек. Обратите внимание, что существующие данные в списке будут сначала очищены.

count() метод

public integer count()
{return} целое число количество элементов в стеке.
Исходный код: framework/collections/CStack.php#168 (показать)
public function count()
{
    return 
$this->getCount();
}

Возвращает количество элементов в стеке. Этот метод необходим для интерфейса Countable.

getCount() метод

public integer getCount()
{return} целое число количество элементов в стеке
Исходный код: framework/collections/CStack.php#158 (показать)
public function getCount()
{
    return 
$this->_c;
}

Возвращает количество элементов в стеке.

getIterator() метод

public Iterator getIterator()
{return} Итератор итератор для обхода элементов в стеке.
Исходный код: framework/collections/CStack.php#149 (показать)
public function getIterator()
{
    return new 
CStackIterator($this->_d);
}

Возвращает итератор для обхода элементов в стеке. Этот метод необходим для интерфейса IteratorAggregate.

peek() метод

public mixed peek()
{return} смешанный тип элемент в верхней части стека
Исходный код: framework/collections/CStack.php#110 (показать)
public function peek()
{
    if(
$this->_c)
        return 
$this->_d[$this->_c-1];
    else
        throw new 
CException(Yii::t('yii','The stack is empty.'));
}

Возвращает элемент в верхней части стека. В отличие от pop(), этот метод не удаляет элемент из стека.

pop() метод

public mixed pop()
{return} смешанный тип элемент в верхней части стека
Исходный код: framework/collections/CStack.php#123 (показать)
public function pop()
{
    if(
$this->_c)
    {
        --
$this->_c;
        return 
array_pop($this->_d);
    }
    else
        throw new 
CException(Yii::t('yii','The stack is empty.'));
}

Извлекает элемент из верхней части стека.

push() метод

public void push(mixed $item)
$item смешанный тип элемент, который нужно поместить в стек
Исходный код: framework/collections/CStack.php#138 (показать)
public function push($item)
{
    ++
$this->_c;
    
$this->_d[]=$item;
}

Помещает элемент в стек.

toArray() метод

public array toArray()
{return} массив список элементов в стеке
Исходный код: framework/collections/CStack.php#60 (показать)
public function toArray()
{
    return 
$this->_d;
}

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

Spec-Zone.ru

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