【PHP8.x】RecursiveCallbackFilterIterator::getInnerIterator()メソッドの使い方
getInnerIteratorメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
getInnerIteratorメソッドは、RecursiveCallbackFilterIteratorが内部で保持している、フィルタリング対象の元のイテレータオブジェクトを取得するために実行するメソッドです。RecursiveCallbackFilterIteratorクラスは、既存の再帰的なイテレータオブジェクトをラップし、指定されたコールバック関数を用いて要素をフィルタリングする機能を提供します。この設計はデコレータパターンとして知られており、元のオブジェクトの機能を拡張します。このメソッドを呼び出すと、ラップされている、つまりフィルタリングが適用される前の元のイテレータオブジェクトそのものが返されます。これにより、フィルタリング後の状態だけでなく、元のデータソースを表現するイテレータに直接アクセスすることが可能になります。例えば、元のイテレータが持つ固有のメソッドを呼び出したい場合や、デバッグ目的でフィルタリング前の状態を確認したいといった特定の状況で利用されます。このメソッドは引数を取らず、戻り値としてコンストラクタで渡されたRecursiveIteratorインターフェースを実装したオブジェクトを返します。
構文(syntax)
1public function getInnerIterator(): Iterator
引数(parameters)
引数なし
引数はありません
戻り値(return)
Iterator|null
RecursiveCallbackFilterIterator::getInnerIterator() メソッドは、このイテレータが内部で使用しているイテレータ、またはイテレータが存在しない場合は null を返します。