=====Интерфейс IteratorAggregate===== Интерфейс для создания внешнего итератора. ====Обзор==== IteratorAggregate extends Traversable { /* Методы */ abstract public getIterator ( ) : Traversable } ====Пример==== property4 = "последнее свойство"; } public function getIterator() { return new ArrayIterator($this); } } $obj = new myData; foreach($obj as $key => $value) { var_dump($key, $value); echo "\n"; } ?> Результатом выполнения данного примера будет что-то подобное: string(9) "property1" string(56) "Первое общедоступное свойство" string(9) "property2" string(56) "Второе общедоступное свойство" string(9) "property3" string(56) "Третье общедоступное свойство" string(9) "property4" string(35) "последнее свойство"