# Интерфейс Traversable

(PHP 5, PHP 7, PHP 8)

## Введение

Интерфейс, который определяет, доступен ли обход класса конструкцией `foreach`.

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

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

interface Traversable {
}

У интерфейса нет методов. Единственная цель интерфейса — быть базовым интерфейсом для классов, которым доступен обход.

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

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

## Примечания

> Замечание:

> Внутренние, или встроенные, классы, которые реализуют этот интерфейс, разрешается обходить конструкцией `foreach`, и такие классы не обязаны реализовывать интерфейс IteratorAggregate или Iterator.

> Замечание:

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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open