【PHP8.x】SKIP_DOTS定数の使い方
SKIP_DOTS定数の使い方について、初心者にもわかりやすく解説します。
基本的な使い方
SKIP_DOTS定数は、PHPのRecursiveDirectoryIteratorクラスに属する定数であり、ファイルシステム上のディレクトリを再帰的に走査する際に、カレントディレクトリを表す「.」と親ディレクトリを表す「..」という特殊なエントリをスキップすることを表す定数です。
この定数は、主にRecursiveDirectoryIteratorオブジェクトを生成する際のフラグとして利用されます。ファイルシステムにおいて、ほとんどのディレクトリには、それ自身を示す「.」と、その一つ上の階層のディレクトリを示す「..」というエントリが存在します。これらのエントリは、実際のファイルやサブディレクトリとは異なり、多くのケースで処理の対象外としたい特殊な存在です。
SKIP_DOTS定数をRecursiveDirectoryIteratorのコンストラクタに渡すことで、イテレータはこれらの特殊な「.」と「..」のエントリを自動的に無視し、純粋なファイルやサブディレクトリのみを反復処理の対象とします。これにより、開発者はこれらのエントリを明示的にフィルタリングする追加のロジックを記述する必要がなくなり、コードをより簡潔に保つことができます。結果として、目的のファイルやディレクトリに焦点を当てた効率的な処理が実現でき、例えば特定のディレクトリ内のファイルやフォルダを一覧表示する際に、不要なエントリが表示されることを防ぐことが可能です。
構文(syntax)
1<?php 2 3$iterator = new RecursiveDirectoryIterator('/path/to/directory', RecursiveDirectoryIterator::SKIP_DOTS); 4 5?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
RecursiveDirectoryIterator::SKIP_DOTS は、ディレクトリの走査時にカレントディレクトリを示す . と親ディレクトリを示す .. をスキップするための定数です。この定数を RecursiveDirectoryIterator のコンストラクタに指定すると、これらの特殊なエントリが反復処理から除外されます。