Интерфейс Traversable

(PHP 5, PHP 7, PHP 8)

Введение

Интерфейс, определяющий, является ли класс обходимым (traversable) с использованием foreach.

Абстрактный базовый интерфейс, который не может быть реализован сам по себе. Вместо этого должен реализовываться IteratorAggregate или Iterator.

Обзор интерфейсов

interface Traversable {
}

Этот интерфейс не имеет методов, его единственная цель - быть базовым интерфейсом для всех обходимых классов.

Список изменений

Версия Описание
7.4.0 Интерфейс Traversable теперь может быть реализован абстрактными классами. Расширяемые классы должны реализовывать интерфейс Iterator или IteratorAggregate.

Примечания

Замечание:

Внутренние (встроенные) классы, реализующие этот интерфейс, могут быть использованы в конструкции foreach и не обязаны реализовывать интерфейс IteratorAggregate или Iterator.

Замечание:

До версии PHP 7.4.0 этот внутренний интерфейс движка не мог быть реализован в PHP-скриптах. Вместо него следует использовать либо интерфейс IteratorAggregate, либо Iterator.