« 定義済みのインターフェイスとクラス
Iterator »

Traversable インターフェイス

(PHP 5, PHP 7, PHP 8)

はじめに

そのクラスの中身が foreach を使用してたどれるかどうかを検出するインターフェイスです。

これは抽象インターフェイスであり、単体で実装することはできません。 IteratorAggregate あるいは Iterator を実装しなければなりません。

インターフェイス概要

interface Traversable {
}

このインターフェイスにはメソッドがありません。 traverse 可能なすべてのクラス用の基底インターフェイスとしてのみ存在しています。

変更履歴

バージョン 説明
8.0.0 Traversable インターフェイスは、抽象クラスによって実装できるようになりました。 これを拡張するには、 Iterator あるいは IteratorAggregate を実装しなければなりません。

注意

注意:

このインターフェイスを実装した内部(組み込み)クラスは、 foreach の中で使うことができます。 IteratorAggregate や Iterator を実装する必要はありません。

注意:

PHP 8.0.0 より前のバージョンでは、 この内部的なエンジンのインターフェイスは PHP スクリプトからは直接実装できませんでした。 抽象クラスであっても同様です。 代わりに、 IteratorAggregate か Iterator を使わなければなりません。

関連キーワード:
インターフェイス   実装   Traversable   Iterator   IteratorAggregate   抽象   foreach   中身   検出   単体   概要   interface   traverse   基底   履歴   拡張   内部   組み込み   内部的   エンジン   スクリプト
関連する関数・ページ:
class.iteratoraggregate   reserved.interfaces   spl.interfaces   function.class-implements   migration74.new-classes   class.outeriterator