public function File_Iterator_Factory::getFileIterator in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/phpunit/php-file-iterator/src/Factory.php \File_Iterator_Factory::getFileIterator()
Parameters
array|string $paths:
array|string $suffixes:
array|string $prefixes:
array $exclude:
Return value
AppendIterator
File
- vendor/
phpunit/ php-file-iterator/ src/ Factory.php, line 27
Class
- File_Iterator_Factory
- Factory Method implementation that creates a File_Iterator that operates on an AppendIterator that contains an RecursiveDirectoryIterator for each given path.
Code
public function getFileIterator($paths, $suffixes = '', $prefixes = '', array $exclude = array()) {
if (is_string($paths)) {
$paths = array(
$paths,
);
}
$paths = $this
->getPathsAfterResolvingWildcards($paths);
$exclude = $this
->getPathsAfterResolvingWildcards($exclude);
if (is_string($prefixes)) {
if ($prefixes != '') {
$prefixes = array(
$prefixes,
);
}
else {
$prefixes = array();
}
}
if (is_string($suffixes)) {
if ($suffixes != '') {
$suffixes = array(
$suffixes,
);
}
else {
$suffixes = array();
}
}
$iterator = new AppendIterator();
foreach ($paths as $path) {
if (is_dir($path)) {
$iterator
->append(new File_Iterator(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($path, RecursiveDirectoryIterator::FOLLOW_SYMLINKS)), $suffixes, $prefixes, $exclude, $path));
}
}
return $iterator;
}