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

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

作成日: 更新日:

基本的な使い方

『ParentIterator::__constructメソッドは、ParentIteratorクラスの新しいインスタンスを生成する処理を実行するメソッドです。このメソッドは、親要素を取得したい対象となる再帰イテレータを引数として受け取ります。引数には、PHPの標準機能であるSPL(Standard PHP Library)に含まれるRecursiveIteratorインターフェースを実装したイテレータのインスタンスを指定する必要があります。RecursiveIteratorは、ディレクトリ構造のような階層的なデータを再帰的にたどるための仕組みです。例えば、ファイルシステムを走査するRecursiveDirectoryIteratorをこのコンストラクタに渡すことで、そのイテレータが指す現在の要素(ファイルやサブディレクトリ)の親ディレクトリを指す、新しいParentIteratorオブジェクトが作成されます。この操作により、元のイテレータが階層構造のどの深さにいても、その親要素にアクセスするための準備が整います。このように__constructメソッドは、ParentIteratorが機能するための基礎となる、対象イテレータの初期設定を行う重要な役割を担っています。

構文(syntax)

1<?php
2
3$data = [
4    'first_level_1' => [
5        'second_level_1_1',
6        'second_level_1_2',
7    ],
8    'first_level_2' => [
9        'second_level_2_1',
10    ],
11];
12
13$recursiveIterator = new RecursiveArrayIterator($data);
14
15// ParentIterator::__construct(RecursiveIterator $iterator) の構文
16$parentIterator = new ParentIterator($recursiveIterator);
17
18foreach ($parentIterator as $key => $value) {
19    echo $key . PHP_EOL;
20}
21
22?>

引数(parameters)

RecursiveIterator $iterator

  • RecursiveIterator $iterator: 親イテレータの基盤となるRecursiveIteratorオブジェクト

戻り値(return)

戻り値なし

戻り値はありません

【PHP8.x】__constructメソッドの使い方 | いっしー@Webエンジニア