第7章 標準クラスライブラリ / 第4回 模擬試験
PHPのDirectoryIteratorクラスに関する次の記述のうち、正しいものはどれか。
DirectoryIteratorクラスは、指定したフォルダー配下の要素を順に取得するために使用する。
正解
DirectoryIteratorクラスはデータベース接続を管理するクラスである。
DirectoryIteratorクラスはHTTP通信を行うためのクラスである。
DirectoryIteratorクラスは日時の操作に使用するクラスである。
解説
`DirectoryIterator`クラスは、`new DirectoryIterator('パス')`のように指定したフォルダーを開き、その配下にあるファイルやサブフォルダーを1つずつ順番に取得(走査)するためのクラスです。`foreach`で反復処理できます。
他の選択肢が誤りである理由は次の通りです。
・データベース接続を管理するのはPDOなどの役割で、`DirectoryIterator`とは無関係です。
・HTTP通信を行うのは`curl`関数群やHTTPクライアントライブラリの役割で、`DirectoryIterator`はファイルシステムを扱うクラスです。
・日時の操作を行うのは`DateTime`クラスの役割です。
例:
```
foreach (new DirectoryIterator(__DIR__) as $fileInfo) {
if ($fileInfo->isDot()) continue; // . と .. をスキップ
echo $fileInfo->getFilename() . "
";
}
```
(参照: 独習PHP 第4版 第7章 標準クラスライブラリ 7.3節 DirectoryIteratorクラス p.323〜326)