private function collectFiles(Configuration $configuration) { $files = iterator_to_array((new Finder())->in($configuration->getPaths())->name('*.php')->files()->followLinks()->ignoreUnreadableDirs(true)->ignoreVCS(true)); return array_filter($files, function (\SplFileInfo $fileInfo) use($configuration) { foreach ($configuration->getExcludeFiles() as $excludeFiles) { if (preg_match('/' . $excludeFiles . '/i', $fileInfo->getPathname())) { return false; } } return true; }); }