【PHP8.x】__constructメソッドの使い方
__constructメソッドの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
__constructメソッドは、FilesystemIteratorオブジェクトを初期化する際に自動的に実行される特別なメソッドです。このメソッドは、ファイルシステム内の特定のディレクトリを効率的に巡回し、その内容にアクセスするための準備を行います。
具体的には、FilesystemIteratorオブジェクトを作成する際に、巡回したいディレクトリのパスを文字列として第一引数に指定します。これにより、イテレータがどのディレクトリ内のファイルやサブディレクトリを処理するかの起点が決まります。
第二引数にはオプションのフラグを指定でき、これによってイテレータの動作を細かく制御できます。例えば、FilesystemIterator::KEY_AS_PATHNAMEフラグは、イテレータのキーとしてファイルやディレクトリのフルパスを使用するように設定します。また、FilesystemIterator::CURRENT_AS_FILEINFOフラグを指定すると、現在の要素をSplFileInfoオブジェクトとして取得できるようになり、ファイル名やサイズ、更新日時などの詳細な情報に簡単にアクセスできます。さらに、FilesystemIterator::SKIP_DOTSフラグは、"."(現在のディレクトリ)と".."(親ディレクトリ)といった特殊なエントリを巡回対象から除外するために利用されます。これらのフラグは複数組み合わせて指定することも可能で、デフォルトではこれら3つのフラグが有効になっています。
この__constructメソッドを通じて、指定されたディレクトリの内容を柔軟かつ効率的に操作するためのFilesystemIteratorオブジェクトが適切に設定されます。
構文(syntax)
1public FilesystemIterator::__construct(string $directory, int $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS);
引数(parameters)
string $directory, int $flags = 0
- string $directory: スキャンするディレクトリのパスを指定する文字列
- int $flags = 0: FilesystemIterator の動作を制御するフラグを指定する整数
戻り値(return)
戻り値なし
戻り値はありません