Neos\Flow\Monitor\FileMonitor::readMonitoredDirectoryRecursively PHP 메소드

readMonitoredDirectoryRecursively() 보호된 메소드

Read a monitored directory recursively, taking into account filename patterns
protected readMonitoredDirectoryRecursively ( string $path, string $filenamePattern ) : Generator
$path string The path of a monitored directory
$filenamePattern string
리턴 Generator
    protected function readMonitoredDirectoryRecursively($path, $filenamePattern)
    {
        $directories = [Files::getNormalizedPath($path)];
        while ($directories !== []) {
            $currentDirectory = array_pop($directories);
            if (is_file($currentDirectory . '.flowFileMonitorIgnore')) {
                continue;
            }
            if ($handle = opendir($currentDirectory)) {
                while (false !== ($filename = readdir($handle))) {
                    if ($filename[0] === '.') {
                        continue;
                    }
                    $pathAndFilename = $currentDirectory . $filename;
                    if (is_dir($pathAndFilename)) {
                        array_push($directories, $pathAndFilename . DIRECTORY_SEPARATOR);
                    } elseif ($filenamePattern === null || preg_match('|' . $filenamePattern . '|', $filename) === 1) {
                        (yield $pathAndFilename);
                    }
                }
                closedir($handle);
            }
        }
    }