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

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

作成日: 更新日:

基本的な使い方

__constructメソッドは、RecursiveDirectoryIteratorクラスの新しいインスタンスを初期化(作成)するメソッドです。 このクラスは、指定されたディレクトリとその中のサブディレクトリをすべて含めて、ファイルやディレクトリの情報を効率的に繰り返し処理(走査)するために使用されます。__constructメソッドを呼び出すことで、プログラマーは特定のディレクトリを起点として、再帰的なファイルシステム操作を行うための準備ができます。

このメソッドには、主に二つの引数を渡すことができます。一つ目は必須の引数である$directoryで、これは文字列で走査を開始したいディレクトリのパスを指定します。例えば、「/var/www/html」のようなパスを渡します。二つ目はオプションの引数である$flagsで、これはイテレータの動作をカスタマイズするための整数値です。例えば、特別なファイルである「.」(カレントディレクトリ)や「..」(親ディレクトリ)をスキップするかどうか(FilesystemIterator::SKIP_DOTS)、イテレータが返す要素のキーや値をどのように表現するか(FilesystemIterator::KEY_AS_PATHNAMEFilesystemIterator::CURRENT_AS_FILEINFO)などを指定できます。これらのフラグを組み合わせることで、目的に応じた柔軟なディレクトリ走査が可能になります。この__constructメソッドによって作成されたRecursiveDirectoryIteratorのインスタンスを使用すると、foreachループなどを用いて、指定ディレクトリ以下のすべてのファイルやサブディレクトリを順番に処理していくことができます。

構文(syntax)

1new RecursiveDirectoryIterator(string $path, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS)

引数(parameters)

string $directory, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO

  • string $directory: 反復処理を開始するディレクトリのパスを指定します。
  • int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO: イテレータの動作を制御するフラグを指定します。デフォルトでは、キーはパス名、値はSplFileInfoオブジェクトになります。

戻り値(return)

戻り値なし

戻り値はありません