Отправляет email-рассылки с помощью сервиса Sendsay

PHP 5: Новые возможности.

  Все выпуски  

Итерация объектов


Вниманию читателей!

Отдельные выпуски рассылки в той или иной мере взаимосвязаны; особенно, это относится к материалам практических занятий.

С предыдущими выпусками Вы можете ознакомиться:

  1. в архиве рассылки (оригиналы выпусков);
  2. на сайте рассылки (исправленные и дополненные версии).

# # #

Вы также можете подписаться на рассылку "PHP 5 для начинающих".

PHP 6 уже в разработке!

Еще в ноябре 2005 года на встрече в Париже разработчики обсудили новые возможности следующей, шестой, версии PHP. Интересует ли Вас, какой будет эта версия? Примите участие в опросе, который проводится на сайте рассылки.

http://pterodactyl.l2p.net/e107/

[опрос на английском языке: PHP 6: Are you interesting in? (PHP 6: Вы зантересованы?) - YES (ДА) - NO (НЕТ)]

PHP 5: Новые возможности.

The Pterodactyl

Copyright 2006 Pterodactyl's School

07.04.2006

История переиздания
Издание 1.00 [ Дата ]
Первоначальная версия.

Аннотация

Представлены механизмы для итерации объектов (простая итерация, интерфейсы Iterator и IteratorAggregate).


Под итерацией объектов подразумевается последовательный перебор всех переменных объекта.

PHP 5 позволяет программисту изменить обычное поведение цикла foreach, возложив тем самым обязанность представления данных на сам класс. Для этого используется встроенный интерфейс Iterator. В классе, к которому применен данный интерфейс должны быть определены следующие пять публичных методов.

Метод rewind. Устанавливает указатель на начало списка. Ничего не возвращает (void).

Метод current. Возвращает значение в текущей позиции (mixed).

Метод key. Возвращает индекс в текущей позиции (mixed).

Метод next. Перемещает указательна следующую пару индекс-значение. Ничего не возвращает (void).

Метод valid. Используется перед current или key. Проверяет, имеется ли в текущей позиции пара индекс-значение. Возвращает логическую величину (bool).

Замечание

Ни один из перечисленных методов не следует вызывать напрямую. Все они используются "за сценой" циклом foreach.

Механизм итерации может быть также вынесен в отдельный класс. В этом случае к классу, объекты которого подлежат итерации, должен быть применен другой интерфейс - IteratorAggregate. Этот интерфейс требует определения единственного метода - getIterator, который возвращает объект класса, осуществляющего итерацию (тип возвращаемой величины - Iterator).

Created with DocBook Created with Libxslt


В избранное