【PHP8.x】__constructメソッドの使い方

__constructメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

__constructメソッドは、新しいRecursiveTreeIteratorオブジェクトを生成するメソッドです。このメソッドは、インスタンスが作成される際に自動的に呼び出されるコンストラクタとして機能し、再帰的なイテレータをツリー構造として表現するための初期化処理を実行します。主な役割は、階層構造を持つデータを走査し、視覚的に分かりやすいツリー形式で出力するための準備を整えることです。第一引数には、ツリー化の対象となるRecursiveIteratorインターフェースを実装したオブジェクトを指定します。これは必須の引数であり、例えばRecursiveDirectoryIteratorRecursiveArrayIteratorのインスタンスが該当します。続くオプションの引数では、イテレータの挙動を制御するためのフラグ、内部キャッシュの動作モード、そしてツリーを走査する順序などを細かく設定できます。このメソッドによって、ファイルシステムや多次元配列といった階層データを、テキストベースの木構造として反復処理するためのイテレータが生成されます。

構文(syntax)

1public __construct(
2    RecursiveIterator|IteratorAggregate $iterator,
3    int $flags = RecursiveTreeIterator::BYPASS_KEY,
4    int $cachingIteratorFlags = CachingIterator::CASK_AS_NEEDED,
5    int $mode = RecursiveTreeIterator::SELF_FIRST
6)

引数(parameters)

RecursiveIterator $iterator, int $flags = RecursiveTreeIterator::BYPASS_KEY, int $cachingIteratorFlags = CachingIterator::CATCH_GET_CHILD, int $mode = RecursiveTreeIterator::SELF_FIRST

  • RecursiveIterator $iterator: ツリー構造を走査するためのRecursiveIteratorオブジェクト
  • int $flags = RecursiveTreeIterator::BYPASS_KEY: キーの扱い方を指定するフラグ(デフォルトはキーを無視)
  • int $cachingIteratorFlags = CachingIterator::CATCH_GET_CHILD: CachingIteratorの挙動を指定するフラグ(デフォルトは子要素の取得をキャッチ)
  • int $mode = RecursiveTreeIterator::SELF_FIRST: イテレーションの順序を指定するモード(デフォルトは自身から開始)

戻り値(return)

戻り値なし

戻り値はありません