/** @return void */ private function importFilesInDir($path, $recursive, $filenameFilterRE = null, $checkClasses = false) { foreach (scandir($path) as $file) { if ($file[0] == '.') { continue; } $filepath = $path . '/' . $file; if (strrchr($file, '.') == '.php') { if ($filenameFilterRE && !preg_match($filenameFilterRE, $file)) { continue; } if ($checkClasses) { $guessedClass = substr($file, 0, -4); if (class_exists($guessedClass)) { continue; } } require_once $filepath; } elseif ($recursive && is_dir($filepath) && is_readable($filepath)) { PHP::addClasspath($filepath); $this->importFilesInDir($filepath, $recursive, $filenameFilterRE, $checkClasses); } } }