4 * This file is part of the Symfony package.
6 * (c) Fabien Potencier <fabien@symfony.com>
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
12 namespace Symfony\Component\Finder\Iterator;
15 * DepthRangeFilterIterator limits the directory depth.
17 * @author Fabien Potencier <fabien@symfony.com>
19 class DepthRangeFilterIterator extends FilterIterator
21 private $minDepth = 0;
24 * @param \RecursiveIteratorIterator $iterator The Iterator to filter
25 * @param int $minDepth The min depth
26 * @param int $maxDepth The max depth
28 public function __construct(\RecursiveIteratorIterator $iterator, $minDepth = 0, $maxDepth = PHP_INT_MAX)
30 $this->minDepth = $minDepth;
31 $iterator->setMaxDepth(PHP_INT_MAX === $maxDepth ? -1 : $maxDepth);
33 parent::__construct($iterator);
37 * Filters the iterator values.
39 * @return bool true if the value should be kept, false otherwise
41 public function accept()
43 return $this->getInnerIterator()->getDepth() >= $this->minDepth;