(PHP 5, PHP 7, PHP 8)
Интерфейс определяет доступность класса для обхода конструкцией foreach.
Абстрактный базовый интерфейс Traversable нельзя реализовать непосредственно, а только через интерфейсы IteratorAggregate или Iterator.
Интерфейс не содержит методов; единственное назначение интерфейса — маркировка классов с поддержкой обхода.
| Версия | Описание |
|---|---|
| 8.0.0 | Разрешили реализацию интерфейса Traversable абстрактными классами при условии реализации подтипами абстрактного класса интерфейсов Iterator или IteratorAggregate. |
Замечание:
Внутренние, или встроенные, классы, которые реализуют интерфейс, поддерживают обход конструкцией
foreachи не требуют реализации интерфейсов IteratorAggregate или Iterator.
Замечание:
До PHP 8.0.0 Traversable оставался внутренним интерфейсом движка, который не поддерживал прямую реализацию в PHP-скриптах даже абстрактными классами и наследовался только через реализацию интерфейсов IteratorAggregate или Iterator.