class TwigRecursiveIterator in Upgrade Status 8.3
Filters a RecursiveDirectoryIterator to discover Drupal twig template files.
Hierarchy
- class \Drupal\upgrade_status\TwigRecursiveIterator extends \Drupal\upgrade_status\RecursiveIteratorIterator
Expanded class hierarchy of TwigRecursiveIterator
File
- src/
TwigRecursiveIterator.php, line 10
Namespace
Drupal\upgrade_statusView source
class TwigRecursiveIterator extends \RecursiveIteratorIterator {
/**
* TwigRecursiveIteratorIterator constructor.
*
* @param string $directory
* Directory to search files.
*/
public function __construct(string $directory) {
$exclude = Settings::get('file_scan_ignore_directories', []);
parent::__construct(new \RecursiveCallbackFilterIterator(new \RecursiveDirectoryIterator($directory, \RecursiveDirectoryIterator::SKIP_DOTS), function ($current) use ($exclude) {
$name = $current
->getFilename();
// RecursiveDirectoryIterator::SKIP_DOTS only skips '.' and '..', but
// not hidden directories (like '.git').
return $name[0] !== '.' && ($current
->isDir() && !in_array($name, $exclude, TRUE) || $current
->isFile() && substr($name, -10) === '.html.twig');
}), \RecursiveIteratorIterator::LEAVES_ONLY);
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
TwigRecursiveIterator:: |
public | function | TwigRecursiveIteratorIterator constructor. |