This snippet is so useful to write custom commands that checks my code.
Code
function filesIn(string $path): \Generator
{
if (! is_dir($path)) {
throw new \RuntimeException("{$path} is not a directory ");
}
$it = new \RecursiveDirectoryIterator($path);
$it = new \RecursiveIteratorIterator($it);
$it = new \RegexIterator($it, '/\.php$/', \RegexIterator::MATCH);
yield from $it;
}
Usage
foreach (filesIn('app/') as $file) {
$contents = file_get_contents($file->getPathname());
}
Want the list as an array?
$files = iterator_to_array(filesIn('app/'));
Don't forget to leave a like!
Top comments (0)