current(); $filename = $file->getFilename(); $relative_filename = str_replace($this::$root . '/', '', $file->getPathname()); if ($file->isDir()) { if (in_array($relative_filename, $this::$ignore_folders, true)) { return false; } if (!in_array($filename, $this::$ignore_files, true)) { return true; } } elseif ($file->isFile() && !in_array($filename, $this::$ignore_files, true)) { return true; } return false; } public function getChildren() { /** @var RecursiveDirectoryFilterIterator $iterator */ $iterator = $this->getInnerIterator(); return new self($iterator->getChildren(), $this::$root, $this::$ignore_folders, $this::$ignore_files); } }